Python — for loops (smyčky)

Zpět na blog

Python — for loops (smyčky)

python for break continue loop

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.

Líbil se vám článek? Sdílejte ho s ostatními

nebo nám napište něco hezkého. Děkujeme!

Zpět na blog

SQL pro každý den

Jak si užít SQL a nezabloudit v kódu

Zobrazit knihu

Python - základy

Naučte se základy Pythonu - populárního jazyka, který vzal datovou vědu doslova útokem.

Zobrazit kurz

SQL pro analytiky 2 - pokročilí

Naučte se vytvářet složité dotazy, databázové objekty a používat pokročilé funkce jazyka SQL.

Zobrazit kurz

Hledáme další autory

Publikujte na Lovely Blogu a inspirujte ostatní! Sdílením svých znalosti si budujete osobní značku.

Kontaktujte nás

Odběr novinek

Novinky, návody a tipy přímo do vašeho emailu.

Copyright © 2018-2024, Colorbee, s.r.o.

Designed by grafikli.cz in Prague.