Uvod v seznami Razumevanja Python

Razumevanja zagotavljajo kratek in enostaven način konstruiranja novih zaporedij z uporabo že opredeljenih sekvenc v Python-u. Te sekvence so lahko seznami, kompleti, slovarji itd. Razumevanje seznamov je ena od dragocenih lastnosti Pythona. Na kratko, seznami seznamov ponujajo način ustvarjanja novih seznamov na podlagi obstoječih seznamov. Z drugimi besedami, seznami razumevanja je en preprost način za oblikovanje seznama, ki temelji na nekaterih iterabilnih. Tu je mogoče ponoviti vse, kar lahko uporabimo za prekrivanje. Razumevanja seznama omogočajo uporabo nadomestne skladnje za ustvarjanje seznamov in vseh drugih zaporednih vrst podatkov v pythonu. Kasneje si bomo ogledali, kako so te uporabne. Obstajajo 3 komponente Razumevanje seznamov, to so:

  • Izhodni izraz: Ta je neobvezen in ga je mogoče prezreti.
  • Iterable.
  • Spremenljivka, ki predstavlja člane prenosljivega, se pogosto imenuje Iterator spremenljivka.

Sintaksa in primeri:

V pythonu lahko ustvarimo seznama Razumevanja z naslednjo skladnjo:

list_variable = (x for x in iterable)

Kot lahko vidite v seznamih Razumevanja seznama, je seznam dodeljen spremenljivki. Oglejmo si primer, najprej lahko razmislimo o metodi za iskanje kvadrata števila s pomočjo zanke:

Koda:

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

Izhod:

Zdaj pa razmislimo, da bomo storili enako, vendar namesto zanke uporabljali Razumevanja seznamov:

Koda:

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

Izhod:

Tu lahko vidite, da se kvadratni oklepaji "()" uporabljajo za označevanje, da je izhodni izraz v njih seznam.

Seznam seznamov in lambda funkcij

Ne pozabite, da razumevanje seznama ni edini način ustvarjanja seznamov, Python ima številne vgrajene funkcije in lambda funkcijo, ki jih je mogoče uporabiti, kot so:

Koda:

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

Izhod:

Čeprav to deluje v mnogih primerih, je Razumevanje seznamov boljše za branje in lažje razumevanje osebe, ki ni programer kode.

Dodajanje pogojev v sezname razumevanja

Za spreminjanje obstoječega seznama lahko uporabite vse pogoje, ki jih potrebujete znotraj seznama. Oglejmo si primer, ki uporablja pogojne pogoje:

Koda:

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

Izhod:

Tu je še en primer:

Koda:

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

Izhod:

Uporaba ugnezdenih zank v seznamih s seznami

Po potrebi lahko v seznamih seznama uporabimo ugnezdene zanke, poglejmo, kako lahko na ta način uporabimo ugnezdene zanke z iskanjem prenosa matrike:

Koda:

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)

Izhod:

Primeri razumevanja seznama Python

Spodaj so primeri seznama Pojmovanja Python:

Primer # 1 - Odstranjevanje samoglasnikov iz določene kazni

Koda:

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

Izhod:

Primer # 2 - Kartiranje imen držav z njihovimi glavnimi mesti

Koda:

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)

Izhod:

Prednosti seznama Razumevanje Python

Mogoče bi si kdo mislil, če je zanke mogoče uporabiti za skoraj vse razumevanje seznama, zakaj jih sploh uporabljati? No, odgovor je v hitrosti in času, ki je potreben, da opravite nalogo in količino potrebnega pomnilnika. Ko smo seznamili razumevanje, že zmanjšujemo 3 vrstice kode v eno in ko je končana, je koda veliko hitrejša kot pri soočanju s seznamom, python najprej dodeli pomnilnik za seznam in nato doda elemente v njem. prav tako gre brez dvoma za bolj eleganten in prefinjen način oblikovanja seznamov, ki temeljijo na že obstoječih seznamih.

Zaključek

Zdaj, ko smo imeli nekaj izkušenj z razumevanjem seznama, je enostavno razumeti, kako nam omogočajo, da en seznam spremenimo v nov seznam. Ti imajo preprosto sintakso, ki omejuje količino dela, potrebnega za ustvarjanje seznama. Glede na to, da so skladnja in struktura seznama razumevanja v osnovi podobni zapisu graditelja setov, postanejo programerji hitro narava in zagotavljajo, da bo, ko bo koda predana neki drugi osebi, da jo vzdržuje in širi, enostavno razumeti in delo z.

Priporočeni članek

To je vodnik po seznamu Razumevanja Python. Tukaj razpravljamo o seznamih razumevanja in lambda funkcijah, skupaj z izvajanjem kode in rezultatom. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -

  1. Destruktor v Pythonu s prednostmi
  2. Naredite medtem, ko zanka v Python-u poteka z diagramom poteka
  3. Niz nizov v Python z metodami
  4. Kaj je AWS Lambda Sloji?
  5. Vrste PL / SQL podatkov
  6. Niz nizov v JavaScript
  7. Različne vrste podatkov SQL s primeri
  8. Celoten vodnik po nizu nizov