Úvod do porozumění seznamu Python

Porozumění poskytuje krátký a snadný způsob konstrukce nových sekvencí pomocí již definovaných sekvencí v Pythonu. Těmito sekvencemi mohou být seznamy, sady, slovníky atd. Porozumění seznamu je jednou z cenných vlastností Pythonu. Stručně řečeno, List Comprehensions nabízí způsob, jak vytvořit nové seznamy založené na existujících seznamech. Jinými slovy, List Comprehensions je jeden jednoduchý způsob, jak vytvořit seznam založený na některých iterable. Zde je iterovatelný cokoli, co lze použít pro opakování. Seznam Porozumění umožňuje použít alternativní syntaxi pro vytváření seznamů a jakýchkoli dalších sekvenčních datových typů v pythonu. Později se podíváme na to, jak jsou užitečné. Seznam porozumění obsahuje 3 složky, jedná se o tyto:

  • Výstupní výraz: Tento výraz je volitelný a lze jej ignorovat.
  • Neměnný.
  • Proměnná, která představuje členy iterovatelné, se často nazývá proměnná Iterator.

Syntaxe a příklady:

V Pythonu můžeme vytvořit seznam porozumění pomocí následující syntaxe:

list_variable = (x for x in iterable)

Jak můžete vidět v Seznamu s porozuměním, seznamu je přiřazena proměnná. Podívejme se nejprve na příklad, nejdřív můžeme zvážit metodu nalezení čtverce čísla pomocí smyčky:

Kód:

numbers = (2, 5, 3, 7) square = () for n in numbers:
square.append(n**2)
print(square)

Výstup:

Nyní uvažujme o tom, že uděláme totéž, ale místo smyčky použijeme List Comprehensions:

Kód:

numbers = (2, 5, 3, 7) square = (n**2 for n in numbers) print(square)

Výstup:

Zde vidíte, že hranaté závorky „()“ se používají k označení, že výstup výrazu uvnitř nich je seznam.

Seznam porozumění a Lambda funkcí

Měli byste mít na paměti, že porozumění seznamu není jediným způsobem vytváření seznamů, Python má mnoho vestavěných funkcí a lambda funkcí, které lze použít, jako například:

Kód:

letters = list(map(lambda x: x, 'human'))
print(letters)

Výstup:

I když to v mnoha případech funguje, seznam porozumění je lepší ve srozumitelnosti a snáze srozumitelný někomu, kdo není programátorem kódu.

Přidávání podmíněných informací do seznamu

Můžete volně používat jakékoli podmíněné informace potřebné k pochopení stávajícího seznamu. Podívejme se na příklad, který používá podmíněné:

Kód:

numbers_list = ( x for x in range(20) if x % 2 == 0) print(numbers_list)

Výstup:

Zde je další příklad:

Kód:

numbers_list = (x for x in range(100) if x % 2 == 0 if x % 5 == 0) print(numbers_list)

Výstup:

Použití vnořených smyček v seznamovém porozumění

V případě potřeby můžeme použít vnořené smyčky v porozumění seznamu, podívejme se, jak můžeme takto vnořené smyčky použít tak, že najdeme transpozici matice:

Kód:

transposedmatrix = () matrix = ((1, 2, 3, 4), (4, 5, 6, 8)) for i in range(len(matrix (0))):
transposedmatrix_row = () for row in matrix:
transposedmatrix_row.append(row(i))
transposedmatrix.append(transposedmatrix_row)
print(transposedmatrix)

Výstup:

Příklady porozumění seznamu Python

Níže jsou uvedeny příklady Seznamu porozumění Python:

Příklad č. 1 - Odstranění samohlásek z dané věty

Kód:

def eg_for(sentence):
vowels = 'aeiou'
filter_list = () for l in sentence:
if l not in vowels:
filter_list.append(l)
return ''.join(filter_list)
def eg_lc(sentence):
vowels = 'aeiou'
return ''.join(( X for X in sentence if X not in vowels))
Now, let's define the matrix, run the program and then check-out the results:
sentence = "hello from the other side"
print ("loop result: " + eg_for(sentence))
print ("LC result: " + eg_lc(sentence))

Výstup:

Příklad č. 2 - Mapování názvů zemí s jejich hlavními městy

Kód:

country = ( 'India', 'Italy', 'Japan' ) capital = ( 'Delhi', 'Rome', 'Tokyo' ) output_dict = ()
# Using loop for constructing dictionary
for (key, value) in zip(country, capital):
output_dict(key) = value
print("Output Dictionary using for loop:", output_dict)

Výstup:

Výhody porozumění seznamu Python

Člověk si může pomyslet, zda lze Loops použít k tomu, aby dělal téměř vše, co je v porozumění seznamu, proč je používat v první řadě? Odpověď je rychlá a doba potřebná k provedení úkolu a množství potřebné paměti. Když je vytvořeno porozumění seznamu, již redukujeme 3 řádky kódu na jeden a když je hotovo, kód je mnohem rychlejší, jako když čelí porozumění seznamu, python nejprve přiděluje paměť seznamu a pak do ní přidává prvky. je to také bezpochyby elegantnější a sofistikovanější způsob vytváření seznamů, které jsou založeny na již existujících seznamech.

Závěr

Nyní, když jsme měli nějaké zkušenosti s porozuměním seznamu, je snadné pochopit, jak nám to umožňuje transformovat jeden seznam do nového seznamu. Mají jednoduchou syntaxi, která omezuje množství práce potřebné pro vytvoření seznamu. Vzhledem k tomu, že syntaxe a struktura seznamů s porozuměním je v podstatě jako zápisník sestavující stavbu, stanou se programátoři druhou přirozeností rychle a zajistí, že jakmile bude kód předán nějaké jiné osobě, aby jej udržel a rozšířil, bude snadno srozumitelné a pracovat s.

Doporučený článek

Toto je průvodce seznamem Comprehensions Python. Zde diskutujeme seznam porozumění a funkcí lambda spolu s implementací a výstupem kódu. Další informace naleznete také v dalších navrhovaných článcích -

  1. Destruktor v Pythonu s výhodami
  2. Proveďte smyčku v Pythonu pomocí vývojového diagramu
  3. Řetězcové pole v Pythonu metodami
  4. Co je to AWS Lambda Layers?
  5. Datové typy PL / SQL
  6. Řetězcová pole v JavaScriptu
  7. Různé typy dat SQL s příklady
  8. Kompletní průvodce po poli String

Kategorie: