W tym artykule nauczysz się iterować po sekwencji elementów przy użyciu różnych odmian pętli for.
Wideo: Python for Loop
Co to jest pętla for w Pythonie?
Pętla for w Pythonie służy do iteracji po sekwencji (lista, krotka, łańcuch) lub innych iterowalnych obiektach. Iterowanie po sekwencji nazywa się przechodzeniem.
Składnia pętli for
for val w sekwencji: Body of for
Tutaj val
jest zmienna, która przyjmuje wartość elementu wewnątrz sekwencji w każdej iteracji.
Pętla trwa, aż dojdziemy do ostatniej pozycji w sekwencji. Ciało pętli for jest oddzielone od reszty kodu za pomocą wcięć.
Schemat blokowy pętli for

Przykład: Python for Loop
# Program to find the sum of all numbers stored in a list # List of numbers numbers = (6, 5, 3, 8, 4, 2, 5, 4, 11) # variable to store the sum sum = 0 # iterate over the list for val in numbers: sum = sum+val print("The sum is", sum)
Po uruchomieniu programu wynik będzie następujący:
Suma wynosi 48
Funkcja range ()
Możemy wygenerować ciąg liczb za pomocą range()
funkcji. range(10)
wygeneruje liczby od 0 do 9 (10 liczb).
Możemy również zdefiniować rozmiar początku, końca i kroku jako range(start, stop,step_size)
. step_size domyślnie wynosi 1, jeśli nie zostanie podany.
range
Przedmiotem jest „leniwy” w pewnym sensie, ponieważ nie generuje każdy numer, że „zawiera”, kiedy go utworzyć. Jednak nie jest to iterator ponieważ wspiera in
, len
a __getitem__
operacje.
Ta funkcja nie przechowuje wszystkich wartości w pamięci; byłoby to nieefektywne. Zapamiętuje więc początek, koniec, wielkość kroku i generuje kolejną liczbę na bieżąco.
Aby wymusić na tej funkcji wypisanie wszystkich elementów, możemy użyć funkcji list()
.
Poniższy przykład wyjaśni to.
print(range(10)) print(list(range(10))) print(list(range(2, 8))) print(list(range(2, 20, 3)))
Wynik
zakres (0, 10) (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) (2, 3, 4, 5, 6, 7) (2, 5, 8, 11, 14 17)
Możemy użyć range()
funkcji w for
pętlach, aby iterować przez sekwencję liczb. Można go łączyć z len()
funkcją, aby iterować sekwencję przy użyciu indeksowania. Oto przykład.
# Program to iterate through a list using indexing genre = ('pop', 'rock', 'jazz') # iterate over the list using index for i in range(len(genre)): print("I like", genre(i))
Wynik
Lubię pop lubię rocka lubię jazz
for loop with else
for
Pętla może mieć opcjonalnie else
elementu oraz. else
Część jest wykonywana wtedy, gdy elementy w kolejności stosowane w do odciągów pętlowych.
Słowa break
kluczowego można użyć do zatrzymania pętli for. W takich przypadkach inna część jest ignorowana.
W związku z tym część else pętli for jest uruchamiana, jeśli nie nastąpi przerwa.
Oto przykład ilustrujący to.
digits = (0, 1, 5) for i in digits: print(i) else: print("No items left.")
Po uruchomieniu programu wynik będzie następujący:
0 1 5 Brak elementów.
Tutaj pętla for drukuje elementy listy, aż pętla się wyczerpie. Kiedy pętla for się wyczerpie, wykonuje blok kodu w else
i drukuje Brak elementów.
Tej for… else
instrukcji można użyć ze break
słowem kluczowym do uruchomienia else
bloku tylko wtedy, gdy break
słowo kluczowe nie zostało wykonane. Weźmy przykład:
# program to display student's marks from record student_name = 'Soyuj' marks = ('James': 90, 'Jules': 55, 'Arthur': 77) for student in marks: if student == student_name: print(marks(student)) break else: print('No entry with that name found.')
Wynik
Nie znaleziono wpisu o tej nazwie.