Jak korzystać ze składni List Comprehension w Pythonie?

List Comprehension to potężna funkcjonalność Pythona, która umożliwia tworzenie nowych list poprzez zastosowanie wyrażenia do każdego elementu z sekwencji. Jest to sposób na zapisanie pętli for i instrukcji if w jednej, zwięzłej linii kodu. W tym artykule omówimy, jak używać List Comprehension, aby ułatwić i przyspieszyć pracę z listami w Pythonie.

Przykład użycia List Comprehension

Załóżmy, że mamy listę liczb i chcemy utworzyć nową listę, która będzie zawierała tylko te liczby z pierwotnej listy, które są parzyste, każdą z nich podniesioną do kwadratu. Oto jak możemy to zrobić, korzystając ze składni List Comprehension:

# Definicja pierwotnej listy liczb
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# Użycie List Comprehension do utworzenia nowej listy
# zawierającej kwadraty tylko parzystych liczb
squared_evens = [number ** 2 for number in numbers if number % 2 == 0]

# Wyświetlenie wyniku
print(squared_evens)  # Wypisze: [4, 16, 36, 64, 100]

W tym kodzie:

  • numbers to pierwotna lista liczb.
  • squared_evens to nowa lista, utworzona przez List Comprehension.
  • [number ** 2 for number in numbers if number % 2 == 0] to składnia List Comprehension. Tutaj number ** 2 to wyrażenie, które zostanie zastosowane do każdego elementu (liczby) z listy numbers, ale tylko wtedy, gdy liczba jest parzysta (sprawdzenie if number % 2 == 0).

Podsumowanie

List Comprehension w Pythonie to wydajny i czytelny sposób na przetwarzanie i tworzenie list. Pozwala ona na zapisanie złożonych operacji na listach w jednej linii kodu, co sprawia, że kod jest łatwiejszy do zrozumienia i utrzymania. Jak pokazano na przykładzie, dzięki List Comprehension możemy łatwo tworzyć nowe listy przez aplikowanie określonego wyrażenia do elementów innego iterowalnego obiektu, spełniających dane kryterium. To potężne narzędzie, które każdy programista Pythona powinien znać i umieć wykorzystywać.

Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs video Python w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.

Scroll to Top