List, Set, Dictionary Comprehensions in Python
Poznajmy listy, słowniki, set comprehensions w pythonie.
Comprehensions in Python:
Zrozumienie składa się z pojedynczego wyrażenia, po którym następuje co najmniej jedna klauzula for
oraz zero lub więcej klauzul for
lub if
.
W Pythonie istnieją trzy comprehensions.
List comprehensions:
List comprehensions zapewniają zwięzły sposób tworzenia list. Typowe zastosowania to tworzenie nowych list, w których każdy element jest wynikiem pewnych operacji zastosowanych do każdego członka innej sekwencji lub iterowalnej lub tworzenie podciągu tych elementów, które spełniają pewien warunek. – python docs
Syntax:
Wyrażeniem może być dowolne wyrażenie arbitralne, wyrażenie złożone, tuple, funkcje zagnieżdżone lub inne zrozumienie listy.
Jest to równoważne
for item in iterable:
if conditional:
expression
Return Type:
List
Using List Comprehension:
Zrozumienie listy składa się z nawiasów zawierających wyrażenie, po którym następuje klauzula
for
, a następnie zero lub więcej klauzul for
lub if
. Wynikiem będzie nowa lista będąca wynikiem oceny wyrażenia w kontekście klauzul for
i if
, które po nim następują.
Zrozumienie listy vs pętla for.
Używając List Comprehension, jest to bardziej zwięzłe i czytelne w porównaniu do for loop.
Znajdowanie kwadratu liczby przy użyciu List Comprehension vs for loop:
List comprehension vs filter.
Zwraca iterator z tych elementów iterable, dla których funkcja zwraca true. iterable może być albo sekwencją, kontenerem obsługującym iterację, albo iteratorem
Finding Even Numbers Using List Comprehension vs filter():
3.List Comprehension vs map.
map:
Zwraca iterator, który stosuje funkcję do każdego elementu iterable, dając wyniki.
Znajdowanie kwadratu liczb przy użyciu List Comprehension vs map():
Pętle zagnieżdżone w List Comprehension.
List comprehension może zawierać jedną lub więcej klauzul for.
Przykład 1: Spłaszczenie listy przy użyciu List Comprehension z dwiema klauzulami 'for’:
5.Multiple if condition in List Comprehension.
List comprehension może zawierać zero lub więcej klauzul if.
Przykład: Znajdowanie liczb podzielnych przez 2 i 3.
Wyrażenie może być tuplem w List Comprehension.
Możemy podać wyrażenie jako tupel w zrozumieniu listy. Powinno to być zapisane w nawiasach. W przeciwnym razie wywoła to Error. Wynikiem będzie lista krotek.
Przykład 1: Tworzenie listy krotek przy użyciu List Comprehension z dwiema klauzulami 'for’:
Jeżeli wyrażenie jest krotką i nie jest ujęte w nawiasy, podniesie SyntaxError.
Przykład 2:Użycie funkcji zip() w zrozumieniu listy:
Zrozumienie listy może być użyte do wywołania metody na każdym elemencie.
Przykład 1: Wywołanie metody strip() na każdym elemencie listy. Służy ona do usuwania białych spacji.
Przykład 2: Wywołanie metody upper() na każdym elemencie listy.
Zrozumienie listy może zawierać złożone wyrażenia i funkcje zagnieżdżone.
Przykład 1:W poniższym przykładzie, w wyrażeniu używamy metody strip i funkcji int.
Przykład 2: W poniższym przykładzie, w wyrażeniu używamy funkcji abs() i str().
Zagnieżdżone zrozumienie listy.
Wyrażenie w zrozumieniu listy może zawierać również inne zrozumienie listy.
Przykład: Pierwsze List comprehension podane jako wyrażenie zwróci listę liczb parzystych od 0 do 10. Lista zagnieżdżona zwróci to wyrażenie (lista liczb parzystych od 0 do 10) trzy razy(range(3)).
.