Šiame straipsnyje išmoksite kartoti elementų seką, naudodami skirtingus ciklo variantus.
Vaizdo įrašas: „Python for Loop“
Kas yra „Python“ kilpa?
„Python“ „for“ kilpa naudojama kartojant seką (sąrašą, paketą, eilutę) ar kitus kartojamus objektus. Kartojimas per seką vadinamas perėjimu.
Loop sintaksė
for val iš eilės: for of
Čia val
yra kintamasis, kuris kiekvieno iteracijos metu paima sekos elemento vertę.
Ciklas tęsiasi tol, kol pasieksime paskutinį elementą sekoje. „Loop“ turinys yra atskirtas nuo likusio kodo naudojant įtrauką.
„Loop“ schema

Pavyzdys: „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)
Kai paleisite programą, išvestis bus:
Suma yra 48
Range () funkcija
Naudodami range()
funkciją, galime sugeneruoti skaičių seką . range(10)
generuos skaičius nuo 0 iki 9 (10 skaičių).
Mes taip pat galime apibrėžti pradžios, pabaigos ir žingsnio dydį kaip range(start, stop,step_size)
. step_size pagal numatytuosius nustatymus yra 1, jei nenurodyta.
range
Objektas yra "tinginys", tam tikra prasme, nes ji nesukuria kiekvieną skaičių, kad ji "yra", kai mes sukurti. Tačiau tai nėra iteratorius nes ji palaiko in
, len
ir __getitem__
operacijos.
Ši funkcija atmintyje nesaugo visų verčių; tai būtų neefektyvu. Taigi jis prisimena pradžios, pabaigos, žingsnio dydį ir sugeneruoja kitą skaičių kelyje.
Norėdami priversti šią funkciją išleisti visus elementus, galime naudoti šią funkciją list()
.
Šis pavyzdys tai paaiškins.
print(range(10)) print(list(range(10))) print(list(range(2, 8))) print(list(range(2, 20, 3)))
Rezultatas
diapazonas (0, 10) (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) (2, 3, 4, 5, 6, 7) (2, 5, 8, 11, 14 , 17)
range()
Funkciją galime naudoti for
kilpomis, norėdami kartoti skaičių seką. Ją galima derinti su len()
funkcija, kad būtų galima kartoti seką naudojant indeksavimą. Štai pavyzdys.
# 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))
Rezultatas
Man patinka popas, man patinka rokas, man patinka džiazas
už kilpą su kita
for
Kilpa gali turėti papildomą else
bloką, taip pat. else
Dalis yra vykdoma, jei sekoje elementai naudojami už kilpos išmetimo.
Raktinį break
žodį galima naudoti norint sustabdyti „for loop“. Tokiais atvejais kita dalis nepaisoma.
Taigi, „for loop“ kita dalis vykdoma, jei neįvyksta pertrauka.
Štai pavyzdys, kaip tai iliustruoti.
digits = (0, 1, 5) for i in digits: print(i) else: print("No items left.")
Kai paleisite programą, išvestis bus:
0 1 5 Elementų neliko.
Čia „for loop“ spausdina sąrašo elementus, kol ciklas baigsis. Kai for for loop baigsis, jis įvykdo kodo bloką else
ir spausdina jokių elementų.
Šis for… else
teiginys gali būti naudojamas kartu su break
raktiniu žodžiu else
blokui paleisti tik tada, kai break
raktinis žodis nebuvo vykdomas. Paimkime pavyzdį:
# 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.')
Rezultatas
Nerasta įrašo tokiu pavadinimu.