Sissejuhatus nimekirja mõistmisse Python

Arusaamad pakuvad lühikest ja hõlpsat viisi uute järjestuste konstrueerimiseks, kasutades Pythonis juba määratletud järjestusi. Need järjestused võivad olla nimekirjad, komplektid, sõnaraamatud jne. Loendi mõistmine on Pythoni üks väärtuslikke omadusi. Lühidalt - loetelude mõistmine pakub moodust olemasolevate loendite põhjal uute loendite loomiseks. Teisisõnu on loendi mõistmine üks lihtne viis loendi loomisel, mis põhineb mingil korrataval kujul. Siin on korratav kõik, mida saab kasutada ümberlülitamiseks. Loendite mõistmine võimaldab loendite ja muude python-tüüpi järjestikuste andmetüüpide loomisel kasutada alternatiivset süntaksi. Hiljem vaatame, kuidas need on kasulikud. Loendi mõistmisel on 3 komponenti, need on järgmised:

  • Väljundi avaldis: see on valikuline ja seda saab ignoreerida.
  • Märkimisväärne.
  • Muutuja, mis tähistab korratava osa liikmeid, nimetatakse seda sageli Iteraatori muutujaks.

Süntaks ja näited:

Pythonis saame loendi mõistmist luua järgmise süntaksi abil:

list_variable = (x for x in iterable)

Nagu näete loendi mõistmises, omistatakse muutujale loend. Vaatame näidet, esiteks võime kaaluda numbri ruudu leidmiseks silmuse abil meetodit:

Kood:

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

Väljund:

Nüüd kaalume sama toimimist, kuid kasutage silmuse asemel loendi mõistmist:

Kood:

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

Väljund:

Siin näete, et nurksulud “()” tähistavad seda, et nende sees olev avaldis on väljund.

Loetlege arusaamad ja Lambda funktsioonid

Peaksite meeles pidama, et loendite mõistmine pole ainus viis loendite loomiseks, Pythonil on palju sisseehitatud funktsioone ja lambda funktsioone, mida saab kasutada, näiteks:

Kood:

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

Väljund:

Kuigi see töötab paljudel juhtudel, on loendi mõistmine paremini loetav ja hõlpsamini mõistetav kellelegi, kes pole koodi programmeerija.

Tingimuste lisamine loendi mõistmisse

Olemasoleva loendi muutmiseks võite vabalt kasutada loendi mõistmise tingimustes vajalikke tingimuslikke tingimusi. Vaatame näidet, mis kasutab tinglikke:

Kood:

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

Väljund:

Siin on veel üks näide:

Kood:

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

Väljund:

Pesastatud silmuste kasutamine loendi mõistmisel

Vajaduse korral saame kasutada loendikokkuvõtetes pesastatud silmuseid, vaatame, kuidas saaksime maatriksi ülekande leidmise abil pesastatud silmuseid sel viisil kasutada:

Kood:

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äljund:

Näited loendimõistmistest Python

Allpool on toodud näited loendi mõistmise Pythoni kohta:

Näide nr 1 - täishäälikute eemaldamine antud lausest

Kood:

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äljund:

Näide nr 2 - riikide nimede kaardistamine pealkirjadega

Kood:

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äljund:

Nimekirja mõistmise eelised Python

Võib mõelda, et kui Loopusi saab kasutada peaaegu kõigi loenditest arusaamiste tegemiseks, siis milleks neid kasutada? Noh, vastus on kiire ja ülesande täitmiseks kuluv aeg ning vajalik mälumaht. Kui loendist aru saadakse, redutseerime juba 3 koodirida üheks ja kui see on tehtud, on kood palju kiirem, sest loendist arusaamise ees eraldab python kõigepealt loendi jaoks mälu ja lisab seejärel elemendid selle sisse. lisaks on see kahtlemata elegantsem ja keerukam moodus loendite koostamiseks, mis põhinevad olemasolevatel loenditel.

Järeldus

Nüüd, kui meil on olnud loenditest arusaamise kogemusi, on lihtne mõista, kuidas need võimaldavad meil muuta ühe loendi uueks loendiks. Neil on lihtne süntaks, mis piirab nimekirja koostamiseks vajaminevat tööd. Arvestades loendi mõistmise süntaksi ja ülesehitust, on põhimõtteliselt tegemist komplekti koostamise märkega, muutuvad need programmeerijate jaoks kiiresti teiseks olemuseks ja tagavad, et kui kood on üle antud mõnele teisele isikule selle säilitamiseks ja laiendamiseks, on see hõlpsasti mõistetav ja töötama koos.

Soovitatav artikkel

See on juhend List Comprehensions Pythoni loendisse. Siin arutatakse loendite mõistmist ja lambda funktsioone koos koodi rakendamise ja väljundiga. Lisateavet leiate ka meie muudest soovitatud artiklitest -

  1. Destruktor eelistes Pythonis
  2. Tehke vooskeemiga Pythoni silmus
  3. Keelpillide arhiiv Pythonis meetoditega
  4. Mis on AWS Lambda kihid?
  5. PL / SQL andmetüübid
  6. Stringimassiiv JavaScriptis
  7. Erinevat tüüpi SQL-i andmed koos näidetega
  8. Keelte komplekti täielik juhend

Kategooria: