Přejít na hlavní obsah

Jak implementovat vnořený cyklus v Pythonu: příklady a vysvětlení

V programování je často potřeba provést jednu operaci mnohokrát. K tomu používáme cykly. Existují však situace, kdy je třeba provést cyklus v jiném cyklu. Tomu se říká vnořený cyklus. V Pythonu je to možné a v tomto článku vám řekneme, jak to udělat.

Vnořené cykly nám umožňují projít všemi kombinacemi prvků ve dvourozměrném poli nebo provést sadu akcí pro každý prvek každého prvku jiného pole. Pokud máme například dvourozměrné pole s daty, můžeme pomocí vnořených cyklů procházet každou položkou.

Pro vytvoření vnořeného cyklu jednoduše vložíme jeden cyklus dovnitř druhého. Vnější cyklus je hlavní a provede své iterace, dokud vnitřní cyklus nedokončí své iterace. Když vnitřní cyklus dokončí své iterace, vnější cyklus pokračuje ve svém provádění.

Zvažte příklad vnořeného cyklu:

for i in range(5):for j in range(3):print(f"i=, j=")
i=0, j=0i=0, j=1i=0, j=2i=1, j=0i=1, j=1i=1, j=2i=2, j=0i=2, j=1i=2, j=2i=3, j=0i=3, j=1i=3, j=2i=4, j=0i=4, j=1i=4, j=2

Můžeme tedy vidět, že vnořené cykly nám umožňují provádět sadu akcí pro každý prvek každého prvku dvourozměrného pole nebo provádět operace založené na kombinacích prvků. Jsou velmi užitečné v různých programovacích úkolech a umožňují nám efektivně spravovat a zpracovávat velké množství dat.

Základní pojmy a příklady vnořených cyklů v Pythonu

Než se podíváme na příklady vnořených cyklů, je důležité porozumět dvěma základním pojmům: vnějšímu cyklu a vnitřnímu cyklu. Vnější cyklus určuje, kolikrát bude vnitřní cyklus proveden, a to v první sekvenci. Vnitřní cyklus se provádí u každého prvku vnějšího cyklu a otírá se podle vnořené sekvence.

Pokud máme například dvourozměrné pole obsahující data o studentech a jejich skóre, můžeme pomocí vnořených cyklů zpracovat každý řádek a každou položku v tomto řádku. Může to vypadat následovně:

NázevHodnocení
Alexander5
Eugenie4
Michal3

Pomocí vnořených cyklů můžeme procházet každý řádek a každý sloupec tabulky a provádět potřebné kroky. Například můžeme vypočítat průměrné skóre studentů tím, že najdeme součet všech známek a vydělíme je počtem studentů.

Zde je příklad kódu, který ukazuje vnořené cykly pro náš příklad:

students = [['Александр', 5],['Евгения', 4],['Михаил', 3]]total_marks = 0num_students = 0for student in students:for mark in student[1:]:total_marks += marknum_students += 1average_mark = total_marks / num_studentsprint(f'Средний балл студентов: ')

Vnořené cykly jsou velmi výkonným nástrojem, který nám umožňuje efektivně zpracovávat data v Pythonu. Umožňují nám provádět akce pro každou položku uvnitř vnořených sekvencí a spravovat vnořená data různými způsoby.