Kui olete massiive kasutanud teistes programmeerimiskeeltes, võite Pythonis leida midagi sarnast loendite näol. Ainus erinevus on see, et Pythoni loenditel on täiendav eelis - dünaamiline suurus. Nagu massiivid, saate ka neid kasutada mitme elemendi salvestamiseks.
Miks on vaja loopida?
Loenditega töötamise ajal tuleb aeg-ajalt teha sama toiming loendi iga kirje suhtes.
Näiteks võite võtta loendi kõigi kirjete keskmise. Mis siis, kui olete blogisid loendisse salvestanud ja soovite nende pealkirja tuua?
Kõigil neil stsenaariumidel on sama probleem: need hõlmavad kordamist. Nende probleemide lahendamiseks võite Pythonis lihtsalt kasutada loenditega tsükleid.
Vaatame, kuidas tsüklid hõlbustavad toimingute sooritamist mitme loendis oleva näite abil.
Loenditega silmuste mõistmine näite kaudu
Oletame, et soovite printida Ameerika aasta ujujate nimekirja aastatel 2016–2019 (COVID-19 tõttu ei auhinnatud kedagi 2020. aastal). Ilma tsükliteta peate loendist iga nime ükshaaval üles otsima. Sellel meetodil on aga kaks suurt probleemi:
- Iga nime printimine on korduv ja aeganõudev, kui töötate pika loendiga.
- Iga eksemplari koodi muutmine nõuab märkimisväärseid jõupingutusi.
Seotud: Kuidas Pythonis mõnda aega kasutada
Õnneks saab for loop mõlemat probleemi tõhusalt lahendada. Mõelge järgmisele koodile:
ujujad = ['phelps', "kleit", "kalisz", "kleit"]
eest ujuja aastal ujujad:
trükk (ujuja)
Lahkame selle koodi kolmes etapis:
- Määrate loendi ujujad ja talletage sinna võitjate nimed.
- Te määrate for loopi, tõmmake loendist nimi ujujad ükshaaval ja määrake see muutujale ujuja.
- Palute Pythonil printida määratud nimi ujuja selles konkreetses iteratsioonis.
Nüüd jätkab Python 2 kordamistnd ja 3rd sammud kõigi teie nimekirjas olevate ujujate printimiseks. Mugavuse huvides võite seda lugeda järgmiselt: "Kuvage iga minu ujujate nimekirjas oleva ujuja nimi." Siin on väljund:
Lühike pilk silmustele
Loopimise teema on ülioluline, kuna see on korduvate ülesannete automatiseerimise üks põhilisi lähenemisviise. Näiteks meie ujujad.py faili töötleb Python aasa esimest rida:
eest ujuja aastal ujujad:
Siin ütlete Pythonile, et ta tooks teie loendist esimese väärtuse, ujujad. Järgmisena määrab see selle teie määratletud muutujale ujuja. Kuna esimene väärtus on „phelps”, kehtib selle kohta järgmine lause:
trükk (ujuja)
Oluline on mõista, et Python trükib kõige värskema väärtuse ujuja selles etapis, mis juhtub olema „phelps”. Kuna loend koosneb mitmest väärtusest, läheb Python tagasi aasa esimesse ritta:
eest ujuja aastal ujujad:
Seekord tõmbab Python teie loendist järgmise nime ‘dressel’ ja määrab selle muutujale ujuja. Jällegi käivitab Python järgmise kooditüki:
trükk (ujuja)
Nüüd prindib Python kõige värskema väärtuse ujuja, mis juhtumisi on “kleit”. Samamoodi kordab Python silmust ja printib kirjad „kalisz“ ja „dressel“.
Pärast viimase väärtuse printimist läheb Python uuesti esimesele silmuse reale ja kuna edasist sisestust pole, liigub see järgmisele reale. Selles programmis pole pärast for loopi midagi, nii et see lõpeb.
Loendite otsimise jätkamisel pidage meeles, et olenemata koodis määratletud sammust, korratakse seda iga loendikirje jaoks üks kord, olenemata loendi pikkusest. See tähendab, et isegi kui lisate oma nimekirja miljard kirjet, sooritab Python teie määratletud toimingu miljard korda.
Teine asi, mida tuleb märkida, on see, et kui määrate oma tsüklitele, saate loendi igale kirjele määratud ajutisele muutujale valida mis tahes nime. Kuid koodi paremaks loetavuseks on soovitatav valida nimi, mis sobib teie kontekstiga.
Näiteks on siin tõhus lähenemisviis toodete, lindude ja osalejate loendi uurimiseks:
toodet sisaldav toode:
lindude lindude puhul:
näitleja jaoks näitlejad:
Nüüd, kui olete silmusest aru saanud, manipuleerite oma loendi iga üksusega. Ujuja näite juurde tagasi tulles võite igale ujujale teha komplimente oskuste eest, kirjutades järgmise koodi:
ujujad = ['phelps', 'dressel', 'kalisz', 'dressel']
ujujate ujujatele:
print (f "{swimmer.title ()}, su ujumisoskus on suurepärane!")
See kood töötab täpselt nagu varem; ainus erinevus on see, et loote igale ujujale sõnumi, kutsudes välja nende nimed. Nagu varemgi, jookseb silmus iga ujuja uuesti ja prindib igaühe kohta välja avalduse. Ootuspäraselt kuvatakse genereeritud väljund allpool:
For loopi saate kirjutada ka mitu lauset. Pidage meeles, et silmus hõlmab kõiki järgnevaid taandatud ridu ujuja ujujates, ja Python täidab iga rea iga loendi väärtuse jaoks üks kord. Seega on loendi kõigi kirjete jaoks lõputud võimalused.
Näiteks võite ülaltoodud näites kirjutada teise printimisavalduse.
ujujad = ['phelps', 'dressel', 'kalisz', 'dressel']
ujujate ujujatele:
print (f "{swimmer.title ()}, su ujumisoskus on suurepärane!")
print (f "Ootan huvilisi järgmisel võistlusel, {swimmer.title ()}.
")
Kuna olete mõlema lause jaoks taanet kasutanud, käivitab Python igaüks neist iga loendi kirje jaoks.
Pärast tsükli lõpetamist saate väljundi kokku võtta ja seejärel liikuda oma programmi teistesse osadesse. Seda silmusejärgset osa ei tohiks taandada, nii et seda ei korrata.
Nüüd saate loendeid hõlpsalt sirvida
Selles artiklis õppisite, miks on vaja tsükleid, kuidas kasutada loenditega tsükleid ja kuidas Python loendis olevaid kirjeid töödeldakse, kui see on tsüklis taandunud. Nüüd saate loendite ja tsüklite abil keerukama koodi kirjutada ja kvaliteetsemaid programme luua.
Oma teadmiste kontrollimiseks on siin lihtne harjutus: looge 10 numbrist koosnev loend ja printige ainult viie arvuga jagatavad numbrid.
Kas töötate loenditega Pythonis? Loenditega töötamisel peate teadma funktsiooni Python append kasutamise kohta.
Loe edasi
- Programmeerimine
- Python
Telli meie uudiskiri
Liituge meie uudiskirjaga, kus leiate tehnilisi näpunäiteid, ülevaateid, tasuta e-raamatuid ja eksklusiivseid pakkumisi!
Veel üks samm !!!
Palun kinnitage oma e-posti aadress meilis, mille me just saatsime.