Srozumitelnost seznamů, množin a slovníků v Pythonu
Poznejte seznamy, slovníky a množiny v Pythonu.
Výklady v Pythonu:
Porozumění se skládá z jednoho výrazu, za kterým následuje alespoň jedna klauzule for
a nula nebo více klauzulí for
nebo if
.
V Pythonu existují tři comprehensions.
List Comprehensions:
List comprehensions poskytují stručný způsob vytváření seznamů. Běžně se používají k vytváření nových seznamů, kde každý prvek je výsledkem nějaké operace aplikované na každý člen jiné posloupnosti nebo iterovatelné položky, nebo k vytváření posloupnosti těch prvků, které splňují určitou podmínku. – Python docs
Syntaxe:
Výrazem může být libovolný libovolný výraz, složené výrazy, tuple, vnořené funkce nebo jiné porozumění seznamu.
Toto je ekvivalentní
for item in iterable:
if conditional:
expression
Typ návratu:
List
Použití seznamového porozumění:
Seznamové porozumění se skládá ze závorek obsahujících výraz, za kterým následuje klauzule
for
a pak nula nebo více klauzulí for
nebo if
. Výsledkem bude nový seznam vzniklý vyhodnocením výrazu v kontextu klauzulí for
a if
, které za ním následují.
Chápání seznamu vs. for cyklus.
Pomocí List Comprehension je stručnější a čitelnější v porovnání s for loop.
Vyhledání čtverce čísel pomocí List Comprehension vs for loop:
List comprehension vs filter.
Vrací iterátor z těch prvků iterable, pro které funkce vrací true. Iterable může být buď posloupnost, kontejner, který podporuje iteraci, nebo iterátor
Vyhledávání sudých čísel pomocí List comprehension vs filter():
3. List comprehension vs map.
map:
Vrací iterátor, který aplikuje funkci na každý prvek iterable, čímž získá výsledky.
Vyhledání čtverce čísel pomocí List Comprehension vs map():
Vložené smyčky v List Comprehension.
List Comprehension může obsahovat jednu nebo více klauzulí for.
Příklad 1. Vložené smyčky v List Comprehension:
5. vícenásobná podmínka if v List Comprehension.
List comprehension může obsahovat nulu nebo více klauzulí if.
Příklad: 1:
Výraz může být v seznamovém chápání tuple.
V seznamovém chápání můžeme výraz uvést jako tuple. Měl by být zapsán v závorkách. V opačném případě to vyvolá chybu. Výsledkem bude seznam tuplů.
Příklad 1: Vytvoření seznamu tuplů pomocí List Comprehension se dvěma klauzulemi ‚for‘:
Pokud je výraz tuplem a pokud není uzavřen v závorkách, vyvolá to SyntaxError.
Příklad 2:Použití funkce zip() v chápání seznamu:
Chápání seznamu lze použít k volání metody na každém prvku.
Příklad 1: Volání metody strip() na každém prvku v seznamu. Používá se k odstranění bílých míst.
Příklad 2: Volání metody upper() na každém prvku v seznamu.
Srozumitelnost seznamu může obsahovat složité výrazy a vnořené funkce.
Příklad 1:V níže uvedeném příkladu ve výrazu používáme metodu strip a funkci int.
Příklad 2: V níže uvedeném příkladu ve výrazu používáme funkci abs() a str().
Vnořené chápání seznamu.
Výraz v chápání seznamu může obsahovat i další chápání seznamu.
Příklad: První seznamové porozumění zadané jako výraz vrátí seznam sudých čísel od 0 do 10. Vnořené chápání seznamu vrátí tento výraz (seznam sudých čísel od 0 do 10) třikrát(rozsah(3)).
.