Pokud jste použili pole v jiných programovacích jazycích, můžete najít něco podobného ve formě seznamů v Pythonu. Jediným rozdílem je, že seznamy Pythonu přicházejí s další výhodou - dynamickou velikostí. Stejně jako pole je můžete použít k uložení více než jedné položky.

Proč je vyžadována smyčka?

Při práci se seznamy budou chvíle, kdy budete muset provést stejnou operaci s každou položkou v seznamu.

Můžete chtít například vzít průměr všech položek v seznamu. Co se týče podobné poznámky, co když máte uložené blogy v seznamu a chcete načíst jejich nadpis?

Všechny tyto scénáře mají stejný problém: zahrnují opakování. K řešení těchto problémů můžete jednoduše použít smyčky se seznamy v Pythonu.

Na příkladu si ukážeme, jak smyčky usnadňují provádění operací proti více položkám v seznamu.

Porozumění smyčkám se seznamy prostřednictvím příkladu

Předpokládejme, že chcete vytisknout seznam amerických plavců roku 2016 až 2019 (nikdo nebyl v roce 2020 oceněn kvůli COVID-19). Bez smyček budete muset každé jméno postupně načítat ze seznamu. S touto metodou však existují dva hlavní problémy:

instagram viewer

  1. Tisk každého jména je při práci s dlouhým seznamem opakovaný a časově náročný.
  2. Úprava kódu pro každou instanci vyžaduje značné úsilí.

Příbuzný: Jak používat smyčku While v Pythonu

Naštěstí smyčka for může oba tyto problémy efektivně řešit. Zvažte následující kód:


plavci = ['phelps', 'dressel', 'kalisz', 'dressel']
pro plavec v plavci:
tisk (plavec)

Rozeberme tento kód ve třech krocích:

  1. Definujete seznam plavci a ukládat do nich jména vítězů.
  2. Definujete smyčku for, vytáhnete název ze seznamu plavci jeden po druhém a přiřadit jej k proměnné plavec.
  3. Požádáte Python, aby vytiskl jméno, které je přiřazeno plavec v této konkrétní iteraci.

Nyní Python nadále opakuje 2nd a 3rd kroky k vytištění všech plavců ve vašem seznamu. Pro vaše pohodlí si jej můžete přečíst takto: „U každého plavce v mém seznamu plavců zobrazte jeho jméno.“ Tady je výstup:

Stručný pohled na smyčky

Téma opakování je zásadní, protože je to jeden ze základních přístupů k automatizaci opakujících se úkolů. Například v našem plavci.py soubor, Python zpracuje první řádek smyčky:


pro plavec v plavci:

Zde řeknete Pythonu, aby načetl první hodnotu ze seznamu, plavci. Dále jej přiřadí k definované proměnné plavec. Protože první hodnota je „phelps“, vztahuje se na ni následující prohlášení:


tisk (plavec)

Je důležité si uvědomit, že Python tiskne nejaktuálnější hodnotu plavec v tomto stádiu, což je náhodou „phelps“. Vzhledem k tomu, že seznam se skládá z více hodnot, vrátí se Python na první řádek smyčky:


pro plavec v plavci:

Tentokrát Python načte další jméno z vašeho seznamu, ‚dressel‘ a přiřadí jej k proměnné plavec. Python znovu provede následující část kódu:


tisk (plavec)

Nyní Python vytiskne nejaktuálnější hodnotu plavec, který je shodou okolností „dressel“. Podobně Python zopakuje smyčku a vytiskne „kalisz“ a „dressel“.

Po vytištění poslední hodnoty přejde Python znovu na první řádek smyčky, a protože již neexistuje žádný další záznam, přesune se na další řádek. V tomto programu po smyčce for není nic, takže končí.

Při dalším procházení seznamy mějte na paměti, že bez ohledu na krok, který definujete v kódu, bude pro každou položku seznamu opakován jednou, bez ohledu na délku seznamu. To znamená, že i když do seznamu přidáte miliardu položek, Python provede definovanou akci milionkrát.

Další věc, kterou je třeba si uvědomit, je, že když definujete smyčky for, můžete vybrat libovolný název dočasné proměnné přiřazené ke každé položce v seznamu. Pro lepší čitelnost kódu se ale doporučuje zvolit název, který odpovídá vašemu kontextu.

Zde je například účinný přístup k procházení seznamu produktů, ptáků a herců:


pro produkt v produktech:
pro ptáky u ptáků:
pro herce v hercích:

Nyní, když máte základní uchopení smyčky for, manipulujete s každou položkou vašeho seznamu. Když se vrátíme k příkladu plavce, můžete každému plavci dát komplimenty za jeho dovednosti napsáním následujícího kódu:


plavci = ['phelps', 'dressel', 'kalisz', 'dressel']
pro plavce v plavcích:
print (f "{swimmer.title ()}, tvoje plavecké dovednosti jsou úžasné!")

Tento kód funguje přesně jako ten předchozí; jediný rozdíl je v tom, že pro každého plavce vytvoříte zprávu vyvoláním jeho jmen. Stejně jako předtím smyčka běží znovu u každého plavce a vytiskne prohlášení pro každého z nich. Podle očekávání je vygenerovaný výstup uveden níže:

Ve smyčce for můžete také napsat více příkazů. Pamatujte, že smyčka zahrnuje všechny odsazené řádky, které následují plavec v plavcích, a Python provede každý řádek jednou pro každou hodnotu seznamu. Pro všechny položky v seznamu tedy existuje nekonečné množství možností.

Ve výše uvedeném příkladu můžete například napsat další tiskový příkaz.


plavci = ['phelps', 'dressel', 'kalisz', 'dressel']
pro plavce v plavcích:
print (f "{swimmer.title ()}, tvoje plavecké dovednosti jsou úžasné!")
print (f "Těšíme se, až uvidíme vaše v příští soutěži, {swimmer.title ()}.
")

Protože jste pro oba příkazy použili odsazení, Python provede každý z nich pro každou položku v seznamu.

Po dokončení cyklu můžete shrnout svůj výstup a poté přejít do dalších částí vašeho programu. Tato část po smyčce by neměla být odsazena, takže se neopakuje.

Nyní můžete snadno procházet seznamy

V tomto článku jste se dozvěděli, proč jsou smyčky potřebné, jak používat smyčky se seznamy a jak Python zpracovává položky v seznamu, když je odsazen ve smyčce. Nyní můžete pomocí seznamů a smyček psát složitější kód a vytvářet programy vyšší kvality.

Chcete-li otestovat své znalosti, je zde jednoduché cvičení: vytvořte seznam 10 čísel a vytiskněte pouze čísla dělitelná pěti.

E-mailem
Jak připojit seznam v Pythonu

Pracujete se seznamy v Pythonu? Tady je to, co potřebujete vědět o používání funkce přidání Pythonu při práci se seznamy.

Přečtěte si další

Související témata
  • Programování
  • Krajta
O autorovi
Usman Ghani (2 publikované články)Více od Usmana Ghaniho

Přihlaste se k odběru našeho zpravodaje

Připojte se k našemu zpravodaji s technickými tipy, recenzemi, bezplatnými elektronickými knihami a exkluzivními nabídkami!

Ještě jeden krok…!

V e-mailu, který jsme vám právě poslali, potvrďte svou e-mailovou adresu.

.