List, Set, Dictionary Comprehensions in Python

Poznajmy listy, słowniki, set comprehensions w pythonie.

Indhumathy Chelliah

Follow

Jul 22, 2020 – 5 min read

Photo by Kara Eads on Unsplash

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.

Typy comprehensions w Pythonie(Image Source: Author)

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 wyjaśnione(Źródło obrazu: Autor)

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:

for loop vs List comprehension

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():

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():

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’:

Spłaszczenie listy przy użyciu List comprehension

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.

Zrozumienie listy z użyciem dwóch klauzul if

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’:

List of tuples

Jeżeli wyrażenie jest krotką i nie jest ujęte w nawiasy, podniesie SyntaxError.

Wyrażenie powinno być ujęte w nawiasy, jeśli jest to tuple.

Przykład 2:Użycie funkcji zip() w zrozumieniu listy:

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.

wywołanie metody strip() na każdym elemencie

Przykład 2: Wywołanie metody upper() na każdym elemencie listy.

wywołanie metody upper() na każdym elemencie

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)).

Zrozumienie listy zagnieżdżonej

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.