Ak ste použili polia v iných programovacích jazykoch, môžete nájsť niečo podobné vo forme zoznamov v Pythone. Jediný rozdiel je v tom, že zoznamy Pythonu prichádzajú s ďalšou výhodou - dynamickou veľkosťou. Rovnako ako polia ich môžete použiť na uloženie viacerých položiek.
Prečo sa vyžaduje opakovanie slučky?
Pri práci so zoznamami sa niekedy stane, že budete musieť vykonať rovnakú operáciu s každou položkou v zozname.
Napríklad môžete chcieť vziať priemer všetkých záznamov v zozname. Čo sa týka podobnej poznámky, čo keď máte uložené blogy v zozname a chcete načítať ich nadpis?
Všetky tieto scenáre majú rovnaký problém: zahŕňajú opakovanie. Na riešenie týchto problémov môžete jednoducho použiť slučky so zoznamami v Pythone.
Na príklade si ukážeme, ako slučky uľahčujú vykonávanie operácií s viacerými položkami v zozname.
Pochopenie slučiek so zoznamami prostredníctvom príkladu
Predpokladajme, že chcete vytlačiť zoznam amerických plavcov roka 2016 až 2019 (v roku 2020 nebol nikto ocenený kvôli COVID-19). Bez slučiek budete musieť postupne vyhľadávať každé meno zo zoznamu. S touto metódou však existujú dva hlavné problémy:
- Tlač každého mena je opakujúca sa a časovo náročná, keď pracujete s dlhým zoznamom.
- Úprava kódu pre každú inštanciu si vyžaduje značné úsilie.
Súvisiace: Ako používať smyčku while v Pythone
Našťastie slučka for dokáže oba tieto problémy efektívne vyriešiť. Zvážte nasledujúci kód:
plavci = ['phelps', „dressel“, „kalisz“, „dressel“]
pre plavec v plavci:
potlač (plavec)
Rozoberme tento kód v troch krokoch:
- Definujete zoznam plavci a uložte do nej mená výhercov.
- Definujete slučku for, vytiahnete meno zo zoznamu plavci jeden po druhom a priraďte ho k premennej plavec.
- Požiadate Python, aby vytlačil meno, ktoré je mu priradené plavec v tej konkrétnej iterácii.
Teraz Python naďalej opakuje dvojkund a 3rd kroky na vytlačenie všetkých plavcov z vášho zoznamu. Pre vaše pohodlie si ho môžete prečítať takto: „Pre každého plavca v mojom zozname plavcov zobrazte jeho meno.“ Tu je výstup:
Stručný pohľad na slučky
Téma cyklovania je rozhodujúca, pretože je to jeden zo základných prístupov k automatizácii opakujúcich sa úloh. Napríklad v našom plavci.py súbor, Python spracuje prvý riadok slučky:
pre plavec v plavci:
Tu poviete Pythonu, aby načítal prvú hodnotu z vášho zoznamu, plavci. Ďalej ju priradí k vašej definovanej premennej plavec. Pretože prvá hodnota je „phelps“, vzťahuje sa na ňu toto vyhlásenie:
potlač (plavec)
Je dôležité si uvedomiť, že Python tlačí najaktuálnejšiu hodnotu plavec v tomto štádiu, ktorý je náhodou „phelps“. Pretože zoznam pozostáva z viacerých hodnôt, Python sa vráti späť k prvému riadku slučky:
pre plavec v plavci:
Tentokrát Python načíta ďalšie meno z vášho zoznamu ‘dressel’ a priradí ho k premennej plavec. Python opäť vykoná nasledujúcu časť kódu:
potlač (plavec)
Teraz Python vytlačí najaktuálnejšiu hodnotu plavec, ktorý je náhodou ‘dressel’. Podobne Python zopakuje slučku a vytlačí „kalisz“ a „dressel“.
Po vytlačení poslednej hodnoty prejde Python opäť na prvý riadok slučky, a keďže už neexistuje žiadny ďalší záznam, presunie sa na ďalší riadok. V tomto programe nie je za slučkou for nič, takže sa končí.
Pri ďalšom postupnom prehľadávaní zoznamov nezabúdajte, že bez ohľadu na krok, ktorý v kóde definujete, bude sa opakovať raz pre každú položku zoznamu bez ohľadu na dĺžku zoznamu. To znamená, že aj keď do svojho zoznamu pridáte miliardu položiek, Python vykoná vami definovanú akciu miliónkrát.
Ďalšia vec, ktorú si treba uvedomiť, je, že keď definujete svoje cykly for, môžete zvoliť ľubovoľný názov dočasnej premennej priradenej ku každému záznamu v zozname. Pre lepšiu čitateľnosť kódu sa však odporúča zvoliť názov, ktorý zapadá do vášho kontextu.
Napríklad je tu efektívny prístup k prechodu zoznamom produktov, vtákov a subjektov:
pre výrobok v produktoch:
pre vtáka u vtákov:
pre herca v hercoch:
Teraz, keď máte základné uchopenie cyklu for, manipulujete s každou položkou vášho zoznamu. Keď sa vrátim k príkladu plavcov, môžete každému plavcovi pochváliť jeho zručnosti napísaním nasledujúceho kódu:
plavci = ['phelps', 'dressel', 'kalisz', 'dressel']
pre plavca v plavcoch:
print (f "{swimmer.title ()}, tvoje plavecké schopnosti sú úžasné!")
Tento kód funguje presne ako ten predtým; jediný rozdiel je v tom, že každému plavcovi vytvoríte správu volaním jeho mien. Rovnako ako predtým, slučka znovu spustí každého plavca a vytlačí vyhlásenie pre každého z nich. Podľa očakávania je vygenerovaný výstup uvedený nižšie:
Môžete tiež napísať viac príkazov do cyklu for. Majte na pamäti, že slučka zahŕňa všetky odsadené riadky, ktoré nasledujú potom plavec v plavcoch, a Python vykoná každý riadok raz pre každú hodnotu zoznamu. Preto existuje nekonečné množstvo možností pre všetky záznamy v zozname.
Vo vyššie uvedenom príklade môžete napríklad napísať ďalšie tlačové vyhlásenie.
plavci = ['phelps', 'dressel', 'kalisz', 'dressel']
pre plavca v plavcoch:
print (f "{swimmer.title ()}, tvoje plavecké schopnosti sú úžasné!")
print (f „Tešíme sa, až sa uvidíme v nasledujúcej súťaži, {swimmer.title ()}.
")
Pretože ste použili odsadenie pre oba príkazy, Python vykoná každé z nich pre každú položku v zozname.
Po dokončení cyklu môžete zosumarizovať svoj výstup a presunúť sa do ďalších častí vášho programu. Táto časť po slučke by nemala byť odsadená, takže sa neopakuje.
Teraz sa môžete zoznamami prechádzať ľahko
V tomto článku ste sa dozvedeli, prečo sú potrebné slučky, ako používať slučky so zoznamami a ako Python spracováva položky v zozname, keď je v ňom odsadený. Teraz môžete pomocou zoznamov a cyklov písať zložitejšie kódy a vytvárať programy vyššej kvality.
Aby ste si overili svoje vedomosti, je tu jednoduché cvičenie: vytvorte si zoznam 10 čísel a vytlačte iba čísla, ktoré sú deliteľné piatimi.
Pracujete so zoznamami v Pythone? Tu je to, čo potrebujete vedieť o používaní funkcie pridania Pythonu pri práci so zoznamami.
Prečítajte si Ďalej
- Programovanie
- Python
Prihlásiť sa ku odberu noviniek
Pripojte sa k nášmu bulletinu s technickými tipmi, recenziami, bezplatnými elektronickými knihami a exkluzívnymi ponukami!
Ešte jeden krok…!
V e-maile, ktorý sme vám práve poslali, potvrďte svoju e-mailovú adresu.