- 1 1. Sissejuhatus
- 2 2. For-tsüklite põhitõed Pythonis
- 3 3. enumerate funktsiooni kasutamine
- 4 4. Mitme järjekorra samaaegne iteratsioon zip-funktsiooniga
- 5 5. Loendikomprehensioonid (List Comprehension)
- 6 6. Sõnastike läbimine
- 7 7. Iteratsioon hulkade üle
- 8 8. itertools mooduli kasutamine
- 9 9. Kokkuvõte
1. Sissejuhatus
Pythoni iteratsioon on oluline element programmi efektiivsuse ja loetavuse parandamiseks. Enamik programmeerimiskeeltest omavad tsükli struktuuri nimega foreach, mis võimaldab lihtsat iteratsiooni järjekorra iga elemendi üle, kuid Pythonil pole otsest foreach tsüklit. Seetõttu kasutab Python mitmesuguseid funktsioone, nagu for tsüklid, enumerate ja zip, et saavutada sarnast töötlemist. See artikkel selgitab, kuidas teha Pythonis iteratsiooni, mis vastab foreach-ile, lihtsa ja praktilise vaatenurgast.
Miks Pythonil pole foreach-i?
Python ei võta foreach-i selgelt üle, kuna keele disain rõhutab lihtsust ja paindlikkust. for tsüklid ja aruanded on loodud selleks, et muuta paljud iteratiivsed ülesanded lihtsaks. Python pakub tugevaid funktsioone indeksite ja mitme järjekorra samaaegseks iteratsiooniks, seega isegi ilma foreach-ita on sarnased avaldused võimalikud.
Iteratsiooni eelised Pythonis
Pythoni iteratsioon pakub järgmisi eeliseid.
- Lühidus : Koodi saab kirjutada kokkusemalt kui teistes keeltes, mis tagab suurema loetavuse.
- Paindlikkus : Ühtlane iteratsioon on võimalik mitme järjekorra ja erinevate andmestruktuuride üle.
- Aruanded : Nimekirju, sõnaraamatuid ja muid kollektsioone saab genereerida lihtsalt, muutes efektiivse koodi kirjutamise lihtsaks.
Järgmises peatükis vaatame üksikasjalikult for tsükli põhilist kasutust kui iteratsiooni fundamentaalset aspekti Pythonis.
2. For-tsüklite põhitõed Pythonis
for tsükkel, Pythoni tuumik iteratsioonifunktsioon, kasutatakse sageli järjekorra iga elemendi töötlemiseks. Siin anname üksikasjaliku selgituse for tsüklite põhilise kasutuse kohta järjekordade nagu nimekirjade ja korvuste jaoks.
For-tsüklite põhisüntaks
Pythoni for tsükkel kirjutatakse järgmiselt:
for element in sequence:
process
- Element : Muutuja, mis saab järjekorras iga elemendi iga iteratsiooni ajal.
- Järjekord : Iteratsiooniline andmestruktuur, nagu nimekiri, korpus või string.
Näide 1: Iteratsioon nimekirja üle
Vaatame esmalt lihtsat for tsükli näidet nimekirja kasutades.
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
Ülaltoodud koodis määratakse fruits nimekirja iga element järjekorras muutujale fruit ja täidetakse print(fruit). See näide annab järgmise väljundiga.
apple
banana
cherry
Näide 2: Iteratsioon stringi üle
Stringid on samuti järjekorrad, seega saab iteratsiooni teha iga tähemärgi üle.
text = "hello"
for char in text:
print(char)
Selles koodis määratakse stringi text iga tähemärk järjekorras muutujale char ja prinditakse. Tulemus on järgmine.
h
e
l
l
o
Näide 3: Iteratsioon määratud vahemiku üle (range funktsioon)
Kui soovite iteratsiooni teha määratud arvude vahemiku üle, kasutage range() funktsiooni.
for i in range(5):
print(i)
See kood määrab väärtused 0 kuni 4 järjekorras muutujale i ja prindib need.
0
1
2
3
4
Kuidas kasutada range funktsiooni
range(n): Genereerib numbreid 0-st kunin-1-ni.range(start, stop): Genereerib numbreidstart-st kunistop-1-ni.range(start, stop, step): Genereerib numbreidstart-st kunistop-1-ni sammugastep.
For-tsüklite praktilised näited
Massiivi summa arvutamine
Siin on näide for tsükli kasutamisest nimekirja numbrite summa arvutamiseks.
numbers = [1, 2, 3, 4, 5]
total = 0
for number in numbers:
total += number
print("Total:", total)
Selles koodis lisatakse nimekirja numbrid järjekorras muutujale total ja prinditakse lõplik summa.
Elementide tingimuslik töötlemine
Saate seada ka tingimusi for tsükli sisse, et töötleda elemente teatud tingimuste alusel.
numbers = [1, 2, 3, 4, 5, 6]
for number in numbers:
if number % 2 == 0:
print(number, "is even")
else:
print(number, "is odd")
See kood määrab, kas iga number on paaris- või paaritu, ja prindib tulemuse.
Pesastatud for-tsüklid (pesastatud struktuur)
for-tsüklid saab pesastada, mis on kasulik mitme nimekirja või kahemõõtmeliste nimekirjade töötlemisel.
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for row in matrix:
for item in row:
print(item, end=" ")
print() # newline
See kood kuvab kahemõõtmelise nimekirja (nimekirjade nimekirja) kõik elemendid.
1 2 3
4 5 6
7 8 9
Kokkuvõte
Pythoni for-tsükkel on fundamentaalne konstruktsioon järjestuste, nagu nimekirjad, korjustused ja stringid, üle efektiivselt itereerimiseks. range() funktsiooni tingimustega ja pesastamisega kombineerides saate lihtsalt realiseerida mitmesuguseid protsesse. Selle baasstruktuuri mõistmine võimaldab teil teha paindlikku itereerimist, mis on võrreldav foreach-ga. 
3. enumerate funktsiooni kasutamine
Kui itereerite Pythonis järjestuse üle, on aeg-ajalt vaja saada samaaegselt nii nimekirja indeks kui ka element. Sellistes olukordades võimaldab enumerate funktsiooni kasutamine efektiivselt hankida indeksi ja elemendi tsüklilise käigu ajal. Siin selgitame üksikasjalikult enumerate funktsiooni baaskasutust ja praktilisi näiteid.
enumerate funktsiooni baassüntaks
enumerate funktsiooni kasutades määratakse järjestuses igale elemendile indeks, genereerides indeksi ja elemendi paarid. Seda kasutatakse järgmisel süntaksil.
for index, element in enumerate(sequence):
process
- Indeks : indeksinumber, mis vastab järjestuse igale elemendile.
- Element : iga element järjestuses.
- Järjestus : itereeritav andmestruktuur, nagu nimekiri, korjus või string.
Näide 1: Nimekirja indeksite ja elementide samaaegne hankimine
Näide, mis töötleb nimekirja, hankides selle indeksid ja elemendid samaaegselt enumerate abil.
fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
print(f"{index}: {fruit}")
See kood väljastab fruits nimekirja iga elemendi koos selle indeksiga.
0: apple
1: banana
2: cherry
Näide 2: Algindeksi määramine
enumerate funktsioonil on võimalus määrata algindeks. Vaikimisi algavad indeksid 0-st, kuid saate määrata mis tahes väärtuse algindeksina.
fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits, start=1):
print(f"{index}: {fruit}")
See kood väljastab indeksid alates 1-st.
1: apple
2: banana
3: cherry
enumerate funktsiooni praktilised näited
Ülesandete nimekirja edenemise kuvamine
enumerate funktsioon võib olla kasulik ka siis, kui indeksid on abiks, näiteks ülesannete haldamisel. Allpool olev näide kuvab iga ülesande edenemise nimekirja formaadis.
tasks = ["Laundry", "Cleaning", "Cooking"]
for index, task in enumerate(tasks, start=1):
print(f"Task{index}: {task} - Completed")
See kood väljastab iga ülesande ülesandete nimekirjas numbriga.
Task1: Laundry - Completed
Task2: Cleaning - Completed
Task3: Cooking - Completed
Massiivis konkreetsete tingimuste alusel töötlemine
Kui soovite töötleda massiivi elemente konkreetsetes positsioonides nende indeksite abil kasutades, on enumerate samuti kasulik.
numbers = [10, 20, 30, 40, 50]
for index, number in enumerate(numbers):
if index % 2 == 0:
print(f"Element {number} at index {index} has an even index")
See kood väljastab elemendid, mis asuvad paarisindeksteil.
Element 10 at index 0 has an even index
Element 30 at index 2 has an even index
Element 50 at index 4 has an even index
Kokkuvõte
enumerate funktsioon on äärmiselt kasulik indeksite ja elementide samaaegseks saamiseks. Kuna saate määrata algindeksi, sobib see loendite nummerdamiseks ja töötlemiseks kindlate tingimuste alusel. Eriti muudab see loendis iga elemendi jälgimise lihtsamaks, parandades koodi loetavust ja hooldatavust.
4. Mitme järjekorra samaaegne iteratsioon zip-funktsiooniga
Python’i zip funktsiooni kasutades saate mitme järjekorra üle samaaegselt iteratsiooni teha. See omadus on väga kasulik, kui soovite töödelda loendeid, tupsid või muid järjekordi paralleelselt. Siin tutvustame zip funktsiooni põhilist kasutamist jatilisi näiteid.
zip-funktsiooni põhisüntaks
zip funktsioon võtab argumentideks mitu järjekorda, grupeerib nende elemendid tupsidesse ja loob itereeritava objekti. Kasutage zip funktsiooni järgmisel süntaksil.
for element1, element2, ... in zip(sequence1, sequence2, ...):
process
- element1, element2… : Üks element igast järjekorrast grupeeritakse tupsiks ja omistatakse muutujatele järjekorras.
- sequence1, sequence2… : Määrake järjekorrad, mida soovite koos töödelda, näiteks loendid või tupsid.
Näide 1: Kahe loendi samaaegne iteratsioon
See näide iterates kahe loendi üle samaaegselt, kasutades zip funktsiooni, ja prindib iga loendi kombineeritud elemendid.
names = ["Alice", "Bob", "Charlie"]
scores = [85, 92, 78]
for name, score in zip(names, scores):
print(f"{name}'s score is {score}")
See kood iterates names loendi ja scores loendi üle samaaegselt, väljastades nimed skoorid.
Alice's score is 85
Bob's score is 92
Charlie's score is 78
Näide 2: Kolme või enama loendi samaaegne iteratsioon
zip funktsioon toetab ka kolme või enamat järjekorda, nii et saate korraga tööda mitu loendit või tupsi.
names = ["Alice", "Bob", "Charlie"]
scores = [85, 92, 78]
grades = ["B", "A", "C"]
for name, score, grade in zip(names, scores, grades):
print(f"{name}'s score is {score}, and the grade is {grade}")
See kood väljastab nimed, skoorid ja hinded koos.
Alice's score is 85, and the grade is B
Bob's score is 92, and the grade is A
Charlie's score is 78, and the grade is C
zip-funktsiooni käitumine, kui järjekordadel on erinev pikkus
zip funktsiooni kasutamisel, kui järjekordadel on erinev pikkus, lõpetab iteratsioon lühima järjekorra pikkusel. Vaatame seda allolevas näites.
names = ["Alice", "Bob"]
scores = [85, 92, 78] # 3 elements
for name, score in zip(names, scores):
print(f"{name}'s score is {score}")
Selles olukorras, kuna names sisaldab ainult kahte elementi, ignoreeritakse kolmandat elementi ja väljund on järgmine.
Alice's score is 85
Bob's score is 92
zip-funktsiooni praktilised näited
Loendi elementide kuvamine paaridena
zip funktsiooni kasutades saate ka paari kõrvale kõrvale asuvad elemendid ühe loendi sees töötluseks.
data = [10, 20, 30, 40]
for x, y in zip(data, data[1:]):
print(f"Pair: ({x}, {y})")
See kood paari kõrvale kõrvale asuvad elemendid ja prindib need.
Pair: (10, 20)
Pair: (20, 30)
Pair: (30, 40)
Kokkuvõte
zip funktsioon on võimas tööriist mitme järjekorra samaaegseks iteratsiooniks. See aitab ülesannetes nagu elementide paari loomine või erinevate andmeosade kombineerimine ning võimaldab kirjutada lühikest koodi. Kui töötate erineva pikkusega järjekordadega, võimaldab vajadusel zip_longest kasutamine paindlikku iteratsiooni. 
5. Loendikomprehensioonid (List Comprehension)
Python sisaldab võimsat tehnika nimega “list comprehension” (loendikomprehensioon) järjekordade lihtsaks genereerimiseks. Loendikomprehensioonide kasutamisega muutub traditsioonilise for tsükliga loendite loomine veelgi lühemaks ja loetavamaks. See peatükk selgitab loendikomprehensioonide põhilist kasutamist ning pakub reaalseid koodinäiteid, et näidata mugavust.
Loendikomprehensioonide põhisüntaks
Loendikomprehensioone kirjutatakse järgmise süntaksiga.
[expression for element in sequence]
- Expression : Iga elemendi peale rakendatav operatsioon.
- Element : Muutuja, mis võtab järjestikku iga elemendi järjendist.
- Sequence : Iteratiivne andmestruktuur, näiteks loend, tuple või string.
Näide 1: Põhiline loendikomprehensioon
Näiteks, uue loendi loomiseks, kahekordistades iga elemendi loendis, traditsiooniline for tsükkel kirjutatakse järgmiselt.
numbers = [1, 2, 3, 4, 5]
doubled = []
for number in numbers:
doubled.append(number * 2)
print(doubled)
Kasutades loendikomprehensiooni, saab eelnevat koodi kirjutada lühidalt järgmiselt.
numbers = [1, 2, 3, 4, 5]
doubled = [number * 2 for number in numbers]
print(doubled)
Väljund on järgmine.
[2, 4, 6, 8, 10]
Tingimuslikud loendikomprehensioonid
Loendikomprehensioonides saab lisada tingimusavalduse, et töödelda ainult teatud elemente. Tingimus kirjutatakse for-i järel if-iga.
Näide 2: Tingimuslik loendikomprehensioon
Näiteks, kahekordistada ainult paarisarvud loendis, kirjutaksid:
numbers = [1, 2, 3, 4, 5]
doubled_even = [number * 2 for number in numbers if number % 2 == 0]
print(doubled_even)
See kood eraldab ainult paarisarvud ja loob uue loendi, kus need on kahekordistatud.
[4, 8]
Näide 3: Tingimuslik loendikomprehensioon koos else-iga
Kui soovid rakendada iga elemendi jaoks erinevat töötlemist tingimusliku haruga, võid lisada else enne if-i.
numbers = [1, 2, 3, 4, 5]
result = [number * 2 if number % 2 == 0 else number for number in numbers]
print(result)
See kood kahekordistab arvu, kui see on paarisarv, muidu lisab loendisse algse arvu.
[1, 4, 3, 8, 5]
Kokkuvõte
Kasutades loendikomprehensioone, saad luua loendeid lühemalt ja tõhusamalt kui for tsüklitega. Lihtsa tingimusliku töötlemise ja spetsiifiliste operatsioonide kombineerimine võimaldab kirjutada Pythonilikumat koodi. Kuid keerukad comprehensions võivad vähendada loetavust, seega on oluline neid kasutada sobivates olukordades.
6. Sõnastike läbimine
Sõnastik (dict) on üks põhilisi andmestruktuure Pythonis, mida kasutatakse võtme‑väärtuse paaride salvestamiseks. Nagu loendid ja tuple’id, saab sõnastikke läbi iteratsiooni, kuid sõnastike puhul võid sageli hankida võtmeid, väärtusi või mõlemat. See peatükk selgitab üksikasjalikult, kuidas sõnastikke läbi iteratsiooni kasutada ja kasulikke funktsioone.
Põhiline sõnastike iteratsioon
Põhilises sõnastike iteratsioonis kasutad for tsüklit, et saada kas võtmeid, väärtusi või võtme‑väärtuse paare.
Näide 1: Iteratsioon ainult võtmete üle
Kui iterad sõnastikku for tsükliga, annab see vaikimisi ainult võtmed.
person = {"name": "Taro", "age": 30, "occupation": "Engineer"}
for key in person:
print(key)
See kood prindib kõik sõnastiku võtmed järjekorras.
name
age
occupation
Näide 2: Iteratsioon ainult väärtuste üle
Sõnastiku väärtuste iteratsiooniks kasuta values() meetodit.
person = {"name": "Taro", "age": 30, "occupation": "Engineer"}
for value in person.values():
print(value)
See kood prindib kõik sõnastiku väärtused järjekorras.
Taro
30
Engineer
Näide 3: Iteratsioon võtme‑väärtuse paaride üle
Kui soovid saada korraga nii võtmeid kui ka väärtusi, kasuta items() meetodit. See tagastab iga paari tuple’ina, mida saab lahti pakkida kahte muutujasse.
person = {"name": "Taro", "age": 30, "occupation": "Engineer"}
for key, value in person.items():
print(f"{key}: {value}")
See kood prindib kõik võtme‑väärtuse paarid.
name: Taro
age: 30
occupation: Engineer
Tingimuslik sõnastike iteratsioon
Kui soovid hankida ainult need paarid, mis vastavad kindlale tingimusele sõnastikus, võid tingimuse määrata if lausendiga.
Näide 4: Väljund ainult kindlate väärtustega paarid
Näiteks, et väljastada ainult elemendid, kus vanus on 30 või rohkem, kirjutaksid:
%%CODEBLOCK14%%
people = {"Taro": 30, "Hanako": 25, "Jiro": 35}
for name, age in people.items():
if age >= 30:
print(f"{name} is at least 30 years old")
See kood väljastab ainult need paarid, mis vastavad tingimusele.
Taro is at least 30 years old
Jiro is at least 30 years old
Sõnastiku mõistete kasutamine
Nii nagu loendimõisted, on ka sõnastikmõisted võimalikud. Need võimaldavad luua uue sõnastiku, mis põhineb tingimusel.
Näide 5: Uue sõnastiku loomine tingimusega
Näiteks, et luua uus sõnastik, mis sisaldab ainult 30‑aastaseid või vanemaid inimesi, võite kirjutada:
people = {"Taro": 30, "Hanako": 25, "Jiro": 35}
adults = {name: age for name, age in people.items() if age >= 30}
print(adults)
Selle koodi väljund on järgmine.
{'Taro': 30, 'Jiro': 35}
Kokkuvõte
Pythoni abil saate sõnastike üle itereerida, hankides võtmeid, väärtusi või võtme‑väärtuse paare. Lisaks võimaldavad tingimuslikud sõnastikmõisted ja pesastatud sõnastike käsitlemine paindlikku andmetöötlust. Sõnastikud on väga käepärane andmestruktuur keerukate andmete korraldamiseks ja haldamiseks ning sobivate iteratsioonitehnikate kasutamine suurendab nende kasulikkust. 
7. Iteratsioon hulkade üle
Hulk (set) on andmestruktuur, mis salvestab unikaalseid elemente, kasulik konkreetse elemendi olemasolu kontrollimiseks või duplikaatide eemaldamiseks loendist. Kuna Python’i hulgad on järjestamata, ei saa elemente indeksiga nagu loendites või tuplites, kuid saate kõigi elementide üle itereerida for tsükli abil. Selles peatükis käsitleme hulkade iteratsiooni põhitõdesid, tingimuslikku iteratsiooni ja iteratsioonimeetodeid, mis hõlmavad hulga spetsiifilisi operatsioone.
Põhiline hulkade iteratsioon
Iga hulga elemendi töötlemiseks kasutage for tsüklit. Kuna hulgadel puudub järjekord, võib töötlemise järjekord iga kord erineda.
Näide 1: Kõigi hulga elementide printimine
Alustuseks vaatleme põhilist iteratsiooninäidet, mis prindib iga hulga elemendi.
fruits = {"apple", "banana", "cherry"}
for fruit in fruits:
print(fruit)
Väljundi järjekord ei ole garanteeritud, kuid iga element ilmub ainult üks kord.
banana
cherry
apple
Tingimuslik hulkade iteratsioon
Samuti saate töödelda hulga elemente, mis vastavad kindlatele tingimustele. Kasutage if lauset, et filtreerida tingimuse alusel.
Näide 2: Ainult tingimust täitvate elementide printimine
Näiteks, et väljastada ainult hulga stringid, mis on vähemalt viis tähemärki pikad, kirjutaksite:
fruits = {"apple", "banana", "cherry", "fig", "kiwi"}
for fruit in fruits:
if len(fruit) >= 5:
print(fruit)
See kood prindib puuviljade nimesid, mis on viis või enam tähemärki.
banana
cherry
apple
Hulgade mõistete kasutamine
Nagu loendimõisted, on ka hulkade mõisted saadaval. Hulka mõiste kasutamine võimaldab lühidalt luua uue hulga, mis põhineb tingimusel.
Näide 3: Uue hulga loomine tingimusega
Näiteks, et luua uus hulk, mis sisaldab ainult elemente, mis on viis või enam tähemärki, nagu eelnevas näites, võite kirjutada:
fruits = {"apple", "banana", "cherry", "fig", "kiwi"}
long_fruits = {fruit for fruit in fruits if len(fruit) >= 5}
print(long_fruits)
Välj näeb välja järgnev (järjekord ei ole garanteeritud).
{'banana', 'cherry', 'apple'}
Kokkuvõte
Hulgad on andmestruktuur, mis ei luba duplikaate ja ei oma järjekorda, andes neile omadused, mis erinevad loenditest või tuplitest. Need sobivad eriti hästi unikaalsete andmete käsitlemiseks ja operatsioonideks teiste hulkadega, et leida lõike või erinevusi. Lisaks võimaldab hulkade mõistete kasutamine lühikest ja tõhusat andmetöötlust.
8. itertools mooduli kasutamine
itertools moodul on praktiline tööriistakast, mis on Pythoni standardraamatukogus kaasas iteratsiooni abistamiseks. See pakub palju funktsioone iteratsiooniliste andmestruktuuride tõhusaks käsitlemiseks, mis on eriti kasulik suurte andmemahtude töötlemisel. Selles peatükis selgitame itertools mooduli peamisi funktsioone ja kuidas neid kasutada.
itertools Mooduli Peamised Funktsioonid
itertools moodul pakub mitmesuguseid funktsioone iteratsiooni täiendamiseks. Siin tutvustame esinduslikke funktsioone ja selgitame nende kasutamist konkreetsete näidetega.
1. count funktsioon
count funktsioon on iteraator, mis genereerib lõpmatult suurenevaid numbreid määratud algväärtusest. Seda kasutatakse peamiselt järjestikuste numbrite genereerimiseks, kui ülemist piirangut pole seatud.
from itertools import count
for i in count(10):
if i > 15:
break
print(i)
See kood algab 10-st ja väljastab täisarvud väiksemad kui 16.
10
11
12
13
14
15
2. cycle funktsioon
cycle funktsioon loob iteraatori, mis kordab antud jada lõpmatult. See on kasulik, kui soovite korduvalt väljastada kindlat mustrit.
from itertools import cycle
count = 0
for item in cycle(["A", "B", "C"]):
if count == 6:
break
print(item)
count += 1
See kood kordab “A”, “B”, “C” ja väljastab neid kokku 6 korda.
A
B
C
A
B
C
3. repeat funktsioon
repeat funktsioon loob iteraatori, mis kordab määratud elementi lõpmatult. Teise argumendiga saab ka määrata korduste arvu.
from itertools import repeat
for item in repeat("Python", 3):
print(item)
See kood väljastab “Python” kolm korda.
Python
Python
Python
4. accumulate funktsioon
accumulate funktsioon loob iteraatori, mis arvutab antud jada kumulatiivse summa. Näiteks on see mugav nimekirja elementide järjestikuseks liitmiseks. Kohandatud funktsiooni kasutades saab teha ka teisi arvutusi, nagu korrutised või maksimumväärtused.
from itertools import accumulate
numbers = [1, 2, 3, 4, 5]
result = list(accumulate(numbers))
print(result)
See kood arvutab nimekirja kumulatiivse summa ja väljastab järgmise.
[1, 3, 6, 10, 15]
Kokkuvõte
itertools moodul pakub rikkalikult funktsioone keeruka iteratsiooni tõhusaks rakendamiseks. See on eriti kasulik, kui vajate lõpmatut iteratsiooni või andmete kombinatsioone ja permutatsioone, aidates hoida koodi kokkuvõtlikuna ja kiirendada töötlemist. Iteratsiooni paindlikuma käsitlemise abil saate kirjutada Pythoni koodi, mis käsitleb suuri andmestikke ja keerulisi operatsioone.
9. Kokkuvõte
Python pakub mitmesuguseid viise iteratsiooni käsitlemiseks, igaühel oma omadustega ja kasutustega. Selles sarjas õppisime mitmesuguseid tehnikaid, et teha iteratsioon Pythonis tõhusamaks. Selles peatükis vaatame neid tehnikaid üle, et saaksite valida õige valiku oma eesmärkide jaoks.
Iga Meetodi Peamised Punktid ja Kasutused
Allpool on iga meetodi peamiste punktide ja kasutuste lühike kokkuvõte.
1. for tsükkel
Punkt: Pythoni põhierakenduslause. Lihtne ja mitmekülgne. Kasutus: Kasutatakse jada töötlemiseks, nagu nimekirjad, korpusid või stringid.
2. enumerate funktsioon
Punkt: Funktsioon indeksi ja elemendi samaaegseks saamiseks. Kasutus: Iteratsioon andmete üle, kus järjekord on oluline või kui indeksi on vaja.
3. zip funktsioon
Punkt: Lubab samaaegset iteratsiooni mitme jada üle. Kasutus: Mugav vastavate elementide töötlemiseks erinevates nimekirjades või korpustes.
4. Nimekirja komprehensioon
Punkt: Lihtne ja tõhus viis nimekirjade genereerimiseks. Tingimuslik töötlemine on ka võimalik. Kasutus: Nimekirjade genereerimine ja filtreerimine tingimuste või avaldiste põhjal.
5. Sõnaraamatu iteratsioon
Punkt: Saab kätte võtmed, väärtused või võti-väärtus paarid. Kasutus: Kasutatakse sõnaraamatu andmete käsitlemisel ja töötlemisel võtmete ja väärtuste põhjal.
6. Hulga iteratsioon
Punkt: Saab töödelda andmeid, millel on unikaalsed (mitte korduvad) elemendid.
Kasutus: Unikaalsete andmete töötlemine ja operatsioonide tegemine teiste hulgaga.
7. itertools moodul
Punkt: Võimaldab lõpmatut iteratsiooni, mitme jada kombinatsioone ning permutatsioonide ja kombinatsioonide genereerimist.
Kasutus: Kompleksse iteratsiooni jaoks või suurte andmemahtude tõhusal käsitlemisel.
Juhised optimaalse meetodi valimiseks
Iteratsiooni puhul on oluline valida eesmärgi ja andmestruktuuri põhjal optimaalse meetodi. Allpool on juhised, kuidas valida iga eesmärgi jaoks sobiv iteratsioonitehnika.
- Lihtne loendi või tuple’i iteratsioon : Põhiline
fortsükkel on kõige otsekohesem ja lihtsaim. - Kui on vaja indeksit :
enumeratekasutades saad tsüklis samaaegselt kätte nii indeksi kui ka elem - Mitme jada samaaegne töötlemine :
zipkasutamine võimaldab tõhusalt töödelda mitut loendit või tuple’i paralleelselt. - Tingimuslik loendi genereerimine : Loendikomprendeid kasutades saad elemente tingimuslikult valida ja arvutatud tulemused otse loendisse salvestada.
- Kui on vaja eritoiminguid sõnastike või hulkadega :
items(),values()meetodite sõnastike ja hulkadele spetsialiseeritud komprendeid kasutades saad hõlpsasti hallata võtmeid ja väärtusi või unikaalseid andmeid. - Kui on vaja täiustatud iteratsiooni või optimeerimist :
itertoolsmooduli kasutamine võimaldab tõhusat lõpmatut iteratsiooni, mitme andmekogumi kombineimist ning eripermutatsioonide ja -kombinatsioonide genereerimist.
Kokkuvõte
Python pakub rikkalikku valikut funktsioone iteratsiooni tõhusaks ja kokkuvõtlikuks teostamiseks. Kasutades erinevaid tehnikaid — alates lihtsatest tsüklitest kuni keerukate iteratsioonideni mitme jada üle — saad märkimisväärselt parandada koodi loetavust ja efektiivsust. Nende meetodite õige rakendamine muudab Python programmeerimise veelgi paindlikumaks ja võimsamaks.
Edaspidi püüa omandada iga funktsiooni vastavalt vajadusele ja jätka tõhusa koodi kirjutamist.



