Python — for loops (smyčky)

Python for smyčku (angl. loop) využijete, když chcete opakovat (iterovat) část kódu.

Procházení list

Máme seznam 4 lidí. Pro každé jméno chceme zobrazit větu pomocí funkce print.

První možností je, že použijeme copy+paste a pro každé jméno budeme mít jeden řádek kódu.

To je udržitelná metoda pouze v případě, že máme pár jmen. Co když se ale počet zvýší a my budeme muset pracovat se stovkou nebo tisícovkou jmen?

Pak bude přehlednější smyčka for.

lide = ['Adam', 'Eva', 'Kain', 'Abel']

for clovek in lide:
    print(f"{clovek} je boží!")
Adam je boží!
Eva je boží!
Kain je boží!
Abel je boží!

Všimněte se, že jsme pro jednotlivé elementy v seznamu lide, použili jméno proměnné clovek. To přispívá k lepší čitelnosti kódu.

Procházení dict — klíče

K procházení (iterování) můžeme použít i další datové typy, které fungují jako iterátory - tzn. obsahují více hodnot, které může Python procházet. Jedním z nich je dictionary.

lide = {'Adam': 1, 'Eva': 2,
        'Kain': 3, 'Abel': 4}

for clovek in lide:
    print(f"{clovek} je boží!")
Adam je boží!
Eva je boží!
Kain je boží!
Abel je boží!

Python nám zobrazil pouze klíčové hodnoty (keys) z dictionary. Co kdybychom potřebovali zobrazit jak klíč (key), tak i hodnotu (value)? Tedy např. Adam je 1!?

Procházení dict — klíče a hodnoty

K procházení klíčů a hodnot v dictionary můžeme použít metodu items(), která vrátí 2 hodnoty - klíč (key) a hodnotu (value).

lide = {'Adam': 1, 'Eva': 2,
        'Kain': 3, 'Abel': 4}

for clovek, cislo in lide.items():
    print(f"{clovek} je {cislo}!")
Adam je 1!
Eva je 2!
Kain je 3!
Abel je 4!

Proveď na konci — else

Smyčka for může obsahovat volitelnou část else, která se provede, když se seznam hodnot vyčerpá.

lide = {'Adam': 1, 'Eva': 2,
        'Kain': 3, 'Abel': 4}

for clovek, cislo in lide.items():
    print(f"{clovek} je {cislo}!")
else:
    print(f"Prošel jsem všechny lidi. Byli celkem {len(lide)}.")
Adam je 1!
Eva je 2!
Kain je 3!
Abel je 4!
Prošel jsem všechny lidi. Byli celkem 4.

Přerušení smyčky — break

Ze smyčky také můžeme "vyskočit" pomocí break a předčasně ji tak ukončit. Všimněte si, že se část else neprovede.

lide = {'Adam': 1, 'Eva': 2,
        'Kain': 3, 'Abel': 4}

for clovek, cislo in lide.items():
    if clovek == 'Kain':
        break
    print(f"{clovek} je {cislo}!")
else:
    # Tato část se neprovede kvůli použití break
    print(f"Prošel jsem všechny lidi. Byli celkem {len(lide)}.")
Adam je 1!
Eva je 2!

Přeskočení iterace — continue

Pokud bychom chtěli Kaina pouze "přeskočit" a pokračovat ve smyčce dál, použijeme continue.

lide = {'Adam': 1, 'Eva': 2,
        'Kain': 3, 'Abel': 4}

for clovek, cislo in lide.items():
    if clovek == 'Kain':
        continue
    print(f"{clovek} je {cislo}!")
else:
    # Tato část se provede
    print('Hotovo.')
Adam je 1!
Eva je 2!
Abel je 4!
Hotovo.

Jste z oboru a chcete něco zajímavého sdělit našemu publiku?

LovelyData

Nenechávejte si to pro sebe!

Určitě máte co říct a byla by škoda, kdyby o tom nikdo nevěděl. Protože naši čtenáři chtějí být informováni o všem, co vytváří budoucnost.

Kontaktujte nás. Těšíme se na spolupráci.

Odběr novinek

Novinky, kurzy a exkluzivní slevy. Získejte informace jako první. Stačí jen zadat e-mail. Je to zdarma a odhlásit se můžete kdykoliv.

© Colorbee, s.r.o.

Design by grafikli.cz

Používáme cookies pro lepší uživatelský zážitek. Používáním webu s tím vyjadřujete souhlas a zároveň potvrzujete, že jste se seznámil/a s Prohlášením o ochraně osobních údajů.

Fotografie: lektoři, grafikli.cz, icons8.com