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 -
- Destruktor eelistes Pythonis
- Tehke vooskeemiga Pythoni silmus
- Keelpillide arhiiv Pythonis meetoditega
- Mis on AWS Lambda kihid?
- PL / SQL andmetüübid
- Stringimassiiv JavaScriptis
- Erinevat tüüpi SQL-i andmed koos näidetega
- Keelte komplekti täielik juhend