Úvod do porozumenia zoznamu Python

Porozumenia poskytujú krátky a ľahký spôsob zostavenia nových sekvencií pomocou už definovaných sekvencií v Pythone. Tieto sekvencie môžu byť zoznamy, množiny, slovníky atď. Porozumenie zoznamu je jednou z cenných vlastností Pythonu. V skratke, List Comprehensions ponúka spôsob, ako vytvoriť nové zoznamy založené na existujúcich zoznamoch. Inými slovami, zoznam porozumení je jeden jednoduchý spôsob, ako vytvoriť zoznam založený na niektorých iterable. Tu je iterovateľný všetko, čo sa dá použiť na opakovanie. Zoznam Porozumenia umožňujú použitie alternatívnej syntaxe na vytváranie zoznamov a akýchkoľvek ďalších sekvenčných dátových typov v pythone. Pozrime sa, ako sú užitočné neskôr. Zoznam sú 3 komponenty, sú to:

  • Výstupný výraz: Tento výraz je voliteľný a možno ho ignorovať.
  • Iterable.
  • Premenná, ktorá predstavuje členov iterovateľnej, sa často nazýva premenná iterátora.

Syntax a príklady:

V Pythone môžeme vytvoriť zoznam s porozumením pomocou nasledujúcej syntaxe:

list_variable = (x for x in iterable)

Ako vidíte v Zozname s porozumením, k premennej je priradený zoznam. Pozrime sa na príklad. Najprv môžeme zvážiť metódu na nájdenie štvorca čísla pomocou slučky:

kód:

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

Výkon:

Teraz uvažujme o tom istom, ale namiesto slučky používajme zoznam porozumení:

kód:

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

Výkon:

Tu vidíte, že hranaté zátvorky „()“ sa používajú na označenie, že výstup výrazu v nich je zoznam.

Zoznam porozumení a Lambda funkcií

Mali by ste mať na pamäti, že porozumenie zoznamu nie je jediný spôsob vytvárania zoznamov. Python má mnoho zabudovaných funkcií a funkcií lambda, ktoré sa dajú použiť, ako napríklad:

kód:

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

Výkon:

Aj keď to v mnohých prípadoch funguje, zoznam porozumení je lepší z hľadiska čitateľnosti a zrozumiteľnejší pre niekoho, kto nie je programátorom kódu.

Pridávanie podmienok do zoznamu porozumení

Máte možnosť použiť akékoľvek podmienené potrebné v rámci porozumenia zoznamu na úpravu existujúceho zoznamu. Pozrime sa na príklad, ktorý používa podmienené:

kód:

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

Výkon:

Tu je ďalší príklad:

kód:

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

Výkon:

Použitie vnorených slučiek v zozname

Ak je to potrebné, môžeme použiť vnorené slučky v porozumení zoznamu, poďme sa pozrieť, ako môžeme takto vnorené slučky použiť nájdením transpozície 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ýkon:

Príklady porozumenia zoznamu Python

Nižšie sú uvedené príklady zoznamu porozumení Python:

Príklad č. 1 - Odstránenie samohlások z danej vety

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ýkon:

Príklad č. 2 - Mapovanie názvov krajín s ich hlavnými mestami

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ýkon:

Výhody porozumenia zoznamu Python

Človek si môže myslieť, že slučky môžu byť použité na to, aby urobili takmer všetko, čo sú v zozname uvedené, prečo ich používať na prvom mieste? Odpoveď je rýchla a čas potrebný na splnenie úlohy a množstvo potrebnej pamäte. Keď sa vytvorí zoznam, už zredukujeme 3 riadky kódu na jeden a keď sa to stane, kód je oveľa rýchlejší, ako keď čelí porozumeniu zoznamu, python najskôr pridelí pamäť zoznamu a potom do nej pridá prvky. je to nepochybne aj elegantnejší a sofistikovanejší spôsob vytvárania zoznamov, ktoré sú založené na už existujúcich zoznamoch.

záver

Teraz, keď sme mali skúsenosti s porozumením zoznamu, je ľahké pochopiť, ako nám to umožňuje transformovať jeden zoznam do nového zoznamu. Majú jednoduchú syntax, ktorá obmedzuje množstvo práce potrebnej na vytvorenie zoznamu. Vzhľadom na to, že syntax a štruktúra zoznamov s porozumením je v podstate ako zápisník zostavujúci zostavu, stávajú sa pre programátorov druhou prirodzenosťou a zabezpečujú, že akonáhle je kód odovzdaný inej osobe na udržanie a rozšírenie, bude ľahké porozumieť a pracovať s.

Odporúčaný článok

Toto je sprievodca zoznamom porozumení Pythonu. Tu diskutujeme zoznam porozumení a funkcií lambda spolu s implementáciou a výstupom kódu. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. Destruktor v Pythone s výhodami
  2. Vykonajte slučku v Pythone pomocou vývojového diagramu
  3. String Array v Pythone s metódami
  4. Čo je to AWS Lambda Layers?
  5. Údajové typy PL / SQL
  6. String Array v JavaScripte
  7. Rôzne typy údajov SQL s príkladmi
  8. Kompletný Sprievodca súborom reťazcov

Kategórie: