logo

Pro smyčky v Pythonu

The Pro smyčky v Pythonu jsou speciálním typem příkazu smyčky, který se používá pro sekvenční procházení. Smyčka Python For se používá pro iteraci přes iterovatelný řetězec, jako je řetězec, n-tice, seznam, sada nebo slovník.

V Pythonu neexistuje cyklus for C ve stylu, tj. for (i=0; I



Obsah

Vývojový diagram Pythonu pro smyčku

Pro smyčky v Pythonu

Pro vývojový diagram smyčky

Jak používat cyklus for v Pythonu

V Pythonu se smyčka for používá k iteraci přes sekvenci (jako je seznam, n-tice, řetězec nebo slovník) nebo jakýkoli iterovatelný objekt. Základní syntaxe cyklu for je:



Python pro syntaxi smyčky

for var in iterable:  # statements>

Poznámka: V Pythonu pro smyčky pouze implementovat iterace založená na kolekci .

Zde uvidíme příklady cyklu Python for s různými typy iterovatelných:

ostrý úhel

Python pro smyčku s řetězcem

Tento kód používá cyklus for k iteraci přes a tětiva a vytisknout každý znak na nový řádek. Cyklus přiřadí každý znak proměnné i a pokračuje, dokud nejsou zpracovány všechny znaky v řetězci.



Krajta
# Iterating over a String print('String Iteration') s = 'Geeks' for i in s: print(i)>

Výstup:

String Iteration G e e k s>

Python pro smyčku s rozsahem

Tento kód používá smyčku Python for s indexem ve spojení s rozsah() funkce pro generování posloupnosti čísel počínaje 0 až po (ale bez) 10 a s velikostí kroku 2. Pro každé číslo v posloupnosti smyčka vytiskne jeho hodnotu pomocí funkce print(). Na výstupu se zobrazí čísla 0, 2, 4, 6 a 8.

seznam třídit pole
Krajta
for i in range(0, 10, 2): print(i)>

Výstup :

0 2 4 6 8>

Python for loop Enumerate

V Pythonu je vyjmenovat() Funkce se používá se smyčkou for k iteraci přes iterovatelnou a zároveň sleduje index každé položky.

Krajta
l1 = ['eat', 'sleep', 'repeat'] for count, ele in enumerate(l1): print (count, ele)>

Výstup

0 eat 1 sleep 2 repeat>

Vnořeno pro smyčky v Pythonu

Tento kód používá vnořené smyčky for k iteraci přes dva rozsahy čísel (1 až 3 včetně) a vypisuje hodnotu iaj pro každou kombinaci dvou smyček. Vnitřní smyčka se provede pro každou hodnotu i ve vnější smyčce. Výstup tohoto kódu vypíše třikrát čísla od 1 do 3, protože každá hodnota i je kombinována s každou hodnotou j.

Krajta
for i in range(1, 4): for j in range(1, 4): print(i, j)>

Výstup :

1 1 1 2 1 3 2 1 2 2 2 3 3 1 3 2 3 3>

Python pro seznam smyčky

Tento kód používá cyklus for k iteraci přes seznam řetězců a tiskne každou položku v seznamu na nový řádek. Cyklus přiřadí každou položku do proměnné I a pokračuje, dokud všechny položky v seznam byly zpracovány.

java random math random
Krajta
# Python program to illustrate # Iterating over a list l = ['geeks', 'for', 'geeks'] for i in l: print(i)>

Výstup :

geeks for geeks>

Python pro smyčku v jednom řádku

Krajta
Numbers =[x for x in range(11)] print(Numbers)>

Výstup

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]>

Python pro smyčku se slovníkem

Tento kód používá cyklus for k iteraci přes a slovník a vytisknout každý pár klíč–hodnota na nový řádek. Smyčka přiřadí každý klíč proměnné i a pomocí formátování řetězce vytiskne klíč a jeho odpovídající hodnotu.

Krajta
# Iterating over dictionary print('Dictionary Iteration') d = dict() d['xyz'] = 123 d['abc'] = 345 for i in d: print('% s % d' % (i, d[i]))>

Výstup:

Dictionary Iteration xyz 123 abc 345>

Python pro smyčku s Tuple

Tento kód iteruje přes n-tici pomocí smyčky for s rozbalováním n-tic. V každé iteraci jsou hodnoty z vnitřní tuple jsou přiřazeny k proměnným a a b a poté vytištěny na konzoli pomocí funkce print(). Výstup zobrazí každou dvojici hodnot z vnitřních n-tic.

Krajta
t = ((1, 2), (3, 4), (5, 6)) for a, b in t: print(a, b)>

Výstup :

1 2 3 4 5 6>

Python pro smyčku se Zip()

Tento kód používá zip() iterovat přes dva seznamy (ovoce a barvy) paralelně. Cyklus for přiřadí odpovídající prvky obou seznamů proměnným fruit a color v každé iteraci. Uvnitř smyčky se funkce print() používá k zobrazení zprávy mezi hodnotami ovoce a barvy. Výstup zobrazí každé ovoce ze seznamu ovoce spolu s odpovídající barvou ze seznamu barev.

Krajta
fruits = ['apple', 'banana', 'cherry'] colors = ['red', 'yellow', 'green'] for fruit, color in zip(fruits, colors): print(fruit, 'is', color)>

Výstup :

apple is red banana is yellow cherry is green>

Řídicí příkazy, které lze použít s For Loop v Pythonu

Příkazy řízení smyčky mění provádění z jejich normální sekvence. Když provádění opustí obor, všechny automatické objekty, které byly vytvořeny v tomto oboru, budou zničeny. Python podporuje následující řídicí příkazy.

python program pro binární vyhledávání

Pokračujte v Pythonu For Loop

Krajta pokračovat v prohlášení vrátí ovládací prvek na začátek smyčky.

Krajta
# Prints all letters except 'e' and 's' for letter in 'geeksforgeeks': if letter == 'e' or letter == 's': continue print('Current Letter :', letter)>

Výstup:

Current Letter : g Current Letter : k Current Letter : f Current Letter : o Current Letter : r Current Letter : g Current Letter : k>

Přestávka v Pythonu pro smyčku

Krajta příkaz break přináší kontrolu ze smyčky.

java řetězec pole
Krajta
for letter in 'geeksforgeeks': # break the loop as soon it sees 'e' # or 's' if letter == 'e' or letter == 's': break print('Current Letter :', letter)>

Výstup:

Current Letter : e>

Pro Loop v Pythonu s Pass Statement

The projít prohlášení psát prázdné smyčky. Pass se také používá pro prázdné řídicí příkazy, funkce a třídy.

Krajta
# An empty loop for letter in 'geeksforgeeks': pass print('Last Letter :', letter)>

Výstup:

Last Letter : s>

Pro smyčky v Pythonu s příkazem Else

Python nám také umožňuje použít podmínku else pro cykly. Blok else těsně po for/while se provede pouze tehdy, když smyčka NENÍ ukončena příkazem break.

Krajta
# Python program to demonstrate # for-else loop for i in range(1, 4): print(i) else: # Executed because no break in for print('No Break
')>

Výstup:

1 2 3 No Break>

Python pro smyčku Otázky na cvičení

Níže jsou dvě cvičební otázky o Pythonu for-loops. V těchto cvičebních otázkách jsme se zabývali příkazem continue a funkcí range().

Q1. Kód pro implementaci příkazu Continue v cyklu for

Krajta
clothes = ['shirt', 'sock', 'pants', 'sock', 'towel'] paired_socks = [] for item in clothes: if item == 'sock': continue else: print(f'Washing {item}') paired_socks.append('socks') print(f'Washing {paired_socks}')>

Výstup

Washing shirt Washing pants Washing towel Washing ['socks']>

Q2. Kód pro implementaci funkce rozsahu do for-loop

Krajta
for day in range(1, 8): distance = 3 + (day - 1) * 0.5 print(f'Day {day}: Run {distance:.1f} miles')>

Výstup

Day 1: Run 3.0 miles Day 2: Run 3.5 miles Day 3: Run 4.0 miles Day 4: Run 4.5 miles Day 5: Run 5.0 miles Day 6: Run 5.5 miles Day 7: Run 6.0 miles>