Dacă ați folosit tablouri în alte limbaje de programare, puteți găsi ceva similar sub formă de liste în Python. Singura diferență este că listele Python vin cu un avantaj suplimentar - dimensiunea dinamică. La fel ca tablourile, le puteți utiliza pentru a stoca mai multe articole.
De ce este necesar buclarea?
În timp ce lucrați cu liste, vor exista momente în care va trebui să efectuați aceeași operație împotriva fiecărei intrări din listă.
De exemplu, poate doriți să luați media tuturor intrărilor dintr-o listă. Într-o notă similară, ce se întâmplă dacă ați stocat bloguri într-o listă și doriți să le preluați titlul?
Toate aceste scenarii au aceeași problemă: implică repetarea. Pentru a rezolva aceste probleme, puteți utiliza pur și simplu bucle cu liste în Python.
Să vedem cum buclele facilitează efectuarea operațiunilor împotriva mai multor elemente dintr-o listă cu un exemplu.
Înțelegerea buclelor cu liste printr-un exemplu
Să presupunem că doriți să imprimați o listă a înotătorilor americani ai anului din 2016 până în 2019 (nimeni nu a fost premiat în 2020 din cauza COVID-19). Fără bucle, va trebui să preluați fiecare nume unul câte unul din listă. Cu toate acestea, există două probleme majore cu această metodă:
- Imprimarea fiecărui nume este repetitivă și consumă mult timp când lucrați cu o listă lungă.
- Modificarea codului pentru fiecare instanță necesită un efort considerabil.
Legate de: Cum se folosește un loop în Python
Din fericire, o buclă for poate aborda ambele probleme în mod eficient. Luați în considerare următorul cod:
înotători = [„phelps”, „dressel”, „kalisz”, „dressel”]
pentru înotător în înotători:
print (înotător)
Să disecăm acest cod în trei pași:
- Definiți o listă înotători și stocați numele câștigătorilor în ea.
- Definiți o buclă for, trageți un nume din listă înotători rând pe rând și atribuie-o variabilei înotător.
- Îi cereți Python să imprime un nume care este atribuit înotător în acea iterație specifică.
Acum, Python continuă să repete 2nd și 3rd pași pentru a imprima toți înotătorii din lista dvs. Pentru confortul dvs., îl puteți citi astfel: „Pentru fiecare înotător din lista mea de înotători, afișați numele înotătorului”. Iată rezultatul:
O scurtă privire asupra buclelor
Subiectul looping-ului este crucial deoarece este una dintre abordările de bază pentru automatizarea sarcinilor repetitive. De exemplu, în swimmers.py fișier, Python procesează prima linie a buclei:
pentru înotător în înotători:
Aici, îi spui Python să preia prima valoare din lista ta, înotători. Apoi, îl atribuie variabilei definite înotător. Deoarece prima valoare este „phelps”, i se aplică următoarea afirmație:
print (înotător)
Este important să înțelegem că Python tipărește cea mai actuală valoare a înotător în acest stadiu, care se întâmplă să fie „phelps”. Deoarece lista constă din mai multe valori, Python revine la prima linie a buclei:
pentru înotător în înotători:
De data aceasta, Python va prelua următorul nume din lista dvs., „dressel” și îl va atribui variabilei înotător. Din nou, Python va executa următoarea bucată de cod:
print (înotător)
Acum, Python tipărește cea mai actuală valoare a înotător, care se întâmplă să fie „dressel”. În mod similar, Python va repeta bucla și va imprima „kalisz” și „dressel”.
După tipărirea ultimei valori, Python merge din nou la prima linie de buclă și, din moment ce nu mai există nicio intrare, va trece la următoarea linie. În acest program, nu există nimic după bucla for, așa că se termină.
Pe măsură ce continuați să parcurgeți listele, rețineți că, indiferent de pasul pe care îl definiți în codul dvs., acesta va fi reiterat o dată pentru fiecare intrare a listei, indiferent de lungimea listei. Asta înseamnă că, chiar dacă adăugați un miliard de intrări în lista dvs., Python va efectua acțiunea definită de un miliard de ori.
Un alt lucru de remarcat este că, atunci când definiți buclele pentru bucle, puteți alege orice nume pentru variabila temporară atribuită fiecărei intrări din listă. Dar, este recomandat să alegeți un nume care să se potrivească contextului dvs. pentru o mai bună lizibilitate a codului.
De exemplu, iată o abordare eficientă pentru a parcurge o listă de produse, păsări și actori:
pentru produs în produse:
pentru pasăre în păsări:
pentru actor în actori:
Acum, că aveți o înțelegere de bază a buclei for, manipulați fiecare element din lista dvs. Revenind la exemplul înotătorului, puteți face complimente fiecărui înotător pentru abilitățile sale, scriind următorul cod:
swimmers = ['phelps', 'dressel', 'kalisz', 'dressel']
pentru înotător la înotători:
print (f "{swimmer.title ()}, abilitățile tale de înot sunt grozave!")
Acest cod funcționează exact ca cel dinainte; singura diferență este că creați un mesaj pentru fiecare înotător strigându-i numele. Ca și înainte, bucla rulează din nou fiecare înotător și imprimă o declarație pentru fiecare dintre ei. După cum era de așteptat, ieșirea generată este prezentată mai jos:
De asemenea, puteți scrie mai multe instrucțiuni în bucla for. Rețineți că bucla cuprinde fiecare linie indentată care vine după înotător în înotători, iar Python execută fiecare linie o dată pentru fiecare valoare a listei. Prin urmare, există posibilități nesfârșite pentru toate intrările din listă.
De exemplu, puteți scrie o altă declarație de tipărire în exemplul de mai sus.
swimmers = ['phelps', 'dressel', 'kalisz', 'dressel']
pentru înotător la înotători:
print (f "{swimmer.title ()}, abilitățile tale de înot sunt grozave!")
print (f "Aștept cu nerăbdare să vă văd în competiția următoare, {swimmer.title ()}.
")
Deoarece ați folosit indentarea pentru ambele instrucțiuni, Python execută fiecare dintre ele pentru fiecare intrare din listă.
După finalizarea buclei, puteți să rezumați rezultatul și apoi să vă mutați în alte părți ale programului. Această parte post-buclă nu ar trebui să fie indentată, deci nu se repetă.
Acum puteți parcurge cu ușurință listele
În acest articol, ați aflat de ce sunt necesare buclele, cum să utilizați bucle cu liste și cum procesează Python intrările dintr-o listă atunci când este indentată într-o buclă. Acum puteți utiliza liste și bucle pentru a scrie cod mai complex și a crea programe de calitate superioară.
Pentru a vă testa cunoștințele, iată un exercițiu simplu: creați o listă de 10 numere și tipăriți doar numere care sunt divizibile cu cinci.
Lucrați cu liste în Python? Iată ce trebuie să știți despre utilizarea funcției de adăugare Python atunci când lucrați cu liste.
Citiți în continuare
- Programare
- Piton
Aboneaza-te la newsletter-ul nostru
Alăturați-vă newsletterului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!
Încă un pas…!
Vă rugăm să confirmați adresa de e-mail în e-mailul pe care tocmai vi l-am trimis.