Če ste uporabili polja v drugih programskih jezikih, lahko najdete nekaj podobnega v obliki seznamov v Pythonu. Edina razlika je v tem, da imajo Pythonovi seznami dodatno prednost - dinamično velikost. Tako kot nizi jih lahko uporabite za shranjevanje več elementov.

Zakaj je potrebna zanka?

Med delom s seznami bodo časi, ko boste morali za vsak vnos na seznamu izvesti isto operacijo.

Na primer, morda boste želeli vzeti povprečje vseh vnosov na seznamu. Kaj podobnega, če imate spletne dnevnike na seznamu in želite poiskati njihov naslov?

Vsi ti scenariji imajo isti problem: vključujejo ponavljanje. Da bi rešili te pomisleke, lahko preprosto uporabite zanke s seznami v Pythonu.

Poglejmo, kako z zgledi olajšajo izvajanje operacij z več elementi na seznamu.

Razumevanje zank s seznami skozi primer

Recimo, da želite natisniti seznam ameriških plavalcev leta od leta 2016 do 2019 (leta 2020 zaradi COVID-19 ni bil nihče nagrajen). Brez zank boste morali vsako ime posamezno pridobiti s seznama. Vendar pa sta pri tej metodi dve glavni težavi:

instagram viewer
  1. Če delate z dolgim ​​seznamom, je tiskanje vsakega imena ponavljajoče in dolgotrajno.
  2. Spreminjanje kode za vsak primerek zahteva precejšen napor.

Sorodno: Kako uporabiti while zanko v Pythonu

Na srečo lahko zanka for učinkovito reši obe težavi. Upoštevajte naslednjo kodo:


plavalci = ["felpi", 'dressel', 'kalisz', 'dressel']
za plavalec v plavalci:
tisk (plavalec)

Seciramo to kodo v treh korakih:

  1. Določite seznam plavalci in vanj shranite imena zmagovalcev.
  2. Določite zanko for, potegnite ime s seznama plavalci enega za drugim in ga dodelite spremenljivki plavalec.
  3. Prosite Python, da natisne ime, ki mu je dodeljeno plavalec v tej posebni ponovitvi.

Zdaj Python še naprej ponavlja 2nd in 3rd korake za tiskanje vseh plavalcev na seznamu. Za vaše udobje si lahko preberete takole: "Za vsakega plavalca na mojem seznamu plavalcev prikažite njegovo ime." Tukaj je rezultat:

Kratek pogled na zanke

Tema zanke je ključnega pomena, ker je eden temeljnih pristopov k avtomatizaciji ponavljajočih se nalog. Na primer v našem plavalci.py datoteko, Python obdela prvo vrstico zanke:


za plavalec v plavalci:

Tukaj naročite Pythonu, naj prinese prvo vrednost s seznama, plavalci. Nato jo dodeli definirani spremenljivki plavalec. Ker je prva vrednost „phelps“, zanjo velja naslednja izjava:


tisk (plavalec)

Pomembno je razumeti, da Python tiska najnovejšo vrednost plavalec na tej stopnji, kar je slučajno "felpi". Ker je seznam sestavljen iz več vrednosti, se Python vrne v prvo vrstico zanke:


za plavalec v plavalci:

Tokrat bo Python z vašega seznama prevzel naslednje ime, 'dressel' in ga določil spremenljivki plavalec. Spet bo Python izvedel naslednji del kode:


tisk (plavalec)

Zdaj Python natisne najnovejšo vrednost plavalec, ki je slučajno "dressel". Podobno bo Python ponovil zanko in natisnil 'kalisz' in 'dressel'.

Po tiskanju zadnje vrednosti se Python ponovno premakne v prvo vrstico zanke in ker ni več nobenega vnosa, se premakne v naslednjo vrstico. V tem programu po zanki for ni ničesar, zato se konča.

Medtem ko nadaljujete z brskanjem po seznamih, ne pozabite, da ne glede na korak, ki ga določite v svoji kodi, bo ta ponovljen enkrat za vsak vnos na seznamu, ne glede na dolžino seznama. To pomeni, da tudi če na svoj seznam dodate milijardo vnosov, bo Python milijardo krat izvedel vaše definirano dejanje.

Upoštevati je treba tudi to, da lahko, ko definirate zanke for, izberete poljubno ime za začasno spremenljivko, dodeljeno vsakemu vnosu na seznamu. Za boljšo berljivost kode je priporočljivo izbrati ime, ki ustreza vašemu kontekstu.

Tukaj je na primer učinkovit pristop za pregledovanje seznama izdelkov, ptic in akterjev:


za izdelek v izdelkih:
za ptice pri pticah:
za igralca v igralcih:

Zdaj, ko imate osnovno razumevanje zanke for, manipulirate z vsakim elementom na seznamu. Če se vrnemo k primeru plavalca, lahko vsakemu plavalcu pohvalite njegove sposobnosti, tako da napišete naslednjo kodo:


plavalci = ['phelps', 'dressel', 'kalisz', 'dressel']
za plavalce v plavalcih:
print (f "{swimmer.title ()}, vaše plavalne sposobnosti so čudovite!")

Ta koda deluje natančno tako kot prej; razlika je le v tem, da za vsakega plavalca ustvarite sporočilo tako, da izgovarjate njegova imena. Tako kot prej zanka znova zažene vsakega plavalca in za vsakega natisne izjavo. Kot je bilo pričakovano, je ustvarjena proizvodnja prikazana spodaj:

V zanko for lahko napišete tudi več stavkov. Upoštevajte, da zanka zajema vsako zamaknjeno vrstico, ki sledi plavalec v plavalcih, in Python izvede vsako vrstico enkrat za vsako vrednost seznama. Za vse vnose na seznamu je torej neskončno veliko možnosti.

V zgornjem primeru lahko na primer napišete drugo izjavo za tiskanje.


plavalci = ['phelps', 'dressel', 'kalisz', 'dressel']
za plavalce v plavalcih:
print (f "{swimmer.title ()}, vaše plavalne sposobnosti so čudovite!")
print (f "Veselimo se vašega naslednjega tekmovanja, {swimmer.title ()}.
")

Kot ste uporabili zamik za oba stavka, Python izvrši vsakega od njih za vsak vnos na seznamu.

Po zaključku zanke lahko povzamete svoje rezultate in se nato premaknete na druge dele programa. Ta del po zanki ne sme biti zamaknjen, zato se ne ponovi.

Zdaj lahko enostavno pregledujete sezname

V tem članku ste izvedeli, zakaj so zanke potrebne, kako uporabljati zanke s seznami in kako Python obdeluje vnose na seznamu, ko je zamaknjen v zanki. Zdaj lahko s seznami in zankami pišete bolj zapleteno kodo in ustvarjate kakovostnejše programe.

Če želite preizkusiti svoje znanje, je tukaj preprosta vaja: ustvarite seznam 10 številk in natisnite samo številke, ki so deljive s petimi.

E-naslov
Kako dodati seznam v Python

Delo s seznami v Pythonu? Tukaj je tisto, kar morate vedeti o uporabi funkcije dodajanja Python pri delu s seznami.

Preberite Naprej

Sorodne teme
  • Programiranje
  • Python
O avtorju
Usman Ghani (2 objavljena članka)Več od Usmana Ghanija

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, preglede, brezplačne e-knjige in ekskluzivne ponudbe!

Še en korak…!

Potrdite svoj e-poštni naslov v e-poštnem sporočilu, ki smo vam ga pravkar poslali.

.