Pythoni silmuste mõistmine:
Pythonis for-tsükliga jada itereerimisel võib indeksi väärtusele juurdepääs olla paljude ülesannete jaoks hädavajalik. Olenemata sellest, kas töötate loendite, korteežide või muude itereeritavate objektidega, võib praeguse üksuse indeksi tundmine aidata erinevates olukordades, näiteks üksuste muutmine nende asukoha alusel või lihtsalt teatud vormingus printimine.
Selles juhendis uurime erinevaid viise indeksi väärtusele juurdepääsuks Pythonis jada sirvides. Kasutame nende meetodite illustreerimiseks näiteid, tagades, et saate neid oma projektides tõhusalt rakendada. Selle artikli lõpuks saate oma tsüklites indeksiväärtusi enesekindlalt hallata ja kasutada.
Käsk | Kirjeldus |
---|---|
enumerate() | Sisseehitatud funktsioon, mis lisab itereeritavale loendile ja tagastab selle loendusobjektina. |
start | Argument, mida kasutatakse koos enumerate() indeksi algväärtuse määramiseks. |
range() | Sisseehitatud funktsioon, mis genereerib numbrijada, mida kasutatakse sageli teatud arvu kordi loomiseks. |
len() | Sisseehitatud funktsioon, mis tagastab objekti pikkuse. |
format() | Stringimeetod, mida kasutatakse stringi määratud väärtuste vormindamiseks. |
+= | Kasvamisoperaator, mida kasutatakse muutujale väärtuse lisamiseks ja tulemuse määramiseks sellele muutujale. |
Pythoni silmuse indekseerimise üksikasjalik selgitus
Esimeses skriptis kasutame enumerate() funktsioon loendis sirvimiseks xs jälgides samal ajal indeksit. The start argument enumerate() on seatud väärtusele 1, tagades, et indeks algab vaikeväärtuse 0 asemel 1-st enumerate() funktsioon tagastab indeksi ja väärtuse paarid, mille me lahti pakime index ja x tsükli päises. The print funktsioon vormindab ja väljastab need väärtused vastavalt soovitud väljundvormingule.
Teine skript saavutab sama tulemuse, jälgides indeksit käsitsi. Initsialiseerime index 1-ni enne tsükli algust. Silmuse sees trükime praeguse indeksi ja väärtuse, kasutades format stringide meetod ja seejärel juurdekasv index 1 abil += operaator. Kolmas skript kasutab range() ja len() tsükli loomiseks, mis jookseb üle indeksi väärtuste vahemikus 1 kuni pikkuseni xs. Silmuse sees pääseme loendi elementidele juurde kasutades xs[index - 1] et saada iga indeksi jaoks õige väärtus.
Funktsiooni enumerate() kasutamine indeksile juurdepääsuks Pythoni tsüklis
Pythoni skript kasutades enumerate()
xs = [8, 23, 45]
for index, x in enumerate(xs, start=1):
print("item #{} = {}".format(index, x))
Käsitsi indeksi jälgimine Pythoni tsüklis
Pythoni skript käsitsi indeksi jälgimisega
xs = [8, 23, 45]
index = 1
for x in xs:
print("item #{} = {}".format(index, x))
index += 1
Juurdepääs indeksile loendi mõistmise ja vahemiku () abil
Pythoni skript Loendi mõistmise ja vahemiku () kasutamine
xs = [8, 23, 45]
for index in range(1, len(xs) + 1):
print("item #{} = {}".format(index, xs[index - 1]))
Alternatiivsete indekseerimismeetodite mõistmine
Teine viis Pythoni tsüklis registrile juurde pääsemiseks on kasutada zip() funktsioon koos funktsiooniga range() funktsiooni. See meetod on eriti kasulik, kui soovite indeksit jälgides samaaegselt läbida mitu järjestust. Luues vahemikuobjekti, mis katab teie jada pikkuse, saate siduda iga indeksi jada vastava üksusega. See lähenemine võib olla kasulik ka siis, kui teil on vaja ühe tsükli jooksul juurde pääseda mitme loendi indeksidele.
Loendist arusaamise kasutamine on veel üks tõhus meetod sarnaste tulemuste saavutamiseks. Loendite mõistmine annab kokkuvõtliku viisi loendite loomiseks ja kombineerituna enumerate() või range(), võivad need sisaldada indeksi väärtusi otse loendis. See võib olla eriti kasulik, kui peate looma uue loendi olemasoleva jada väärtuste ja indeksite põhjal, lisades oma koodile täiendava paindlikkuse.
Korduma kippuvad küsimused silmuse indekseerimise kohta
- Kuidas enumerate() töötada?
- The enumerate() funktsioon lisab itereeritavale loendile ja tagastab selle loendusobjektina, mida saab seejärel otse tsüklites kasutada.
- Kas ma saan indeksit alustada mõne muu väärtusega enumerate()?
- Jah, saate määrata algusindeksi, kasutades start parameeter sisse enumerate().
- Mis on kasutamise eelis enumerate() rohkem kui käsitsi registri jälgimine?
- enumerate() lihtsustab koodi ja vähendab käsitsi indeksi jälgimisega seotud vigade riski.
- Kuidas pääsen registrile juurde, kui vaatan läbi mitme loendi?
- Kasutades zip() funktsioon koos range() aitab teil indeksitele juurde pääseda, kui sirvite korraga mitut loendit.
- Kas indeksi väärtuste lisamiseks on võimalik kasutada loendi mõistmist?
- Jah, loendi mõistmist saab kombineerida enumerate() või range() indeksi väärtuste lisamiseks uude loendisse.
- Kas ma saan muuta loendis olevaid üksusi nende registrisse pääsemise ajal?
- Jah, juurdepääs indeksi väärtustele võimaldab teil muuta loendi üksusi nende asukoha alusel tsüklis.
- Mis on += operaatorit kasutatakse tsüklites?
- The += operaator suurendab muutujat määratud väärtuse võrra ja määrab tulemuse sellele muutujale ümber.
Indeksi juurdepääsu lõpetamine Pythoni silmustega
Indeksi väärtustele juurdepääs for-tsüklis on paljude programmeerimisülesannete jaoks ülioluline. Kasutades selliseid meetodeid nagu enumerate(), käsitsi registri jälgimine ja range() võimaldab paindlikkust ja täpsust. Need tehnikad tagavad, et saate erinevate stsenaariumitega tõhusalt hakkama, olenemata sellest, kas töötate ühe või mitme järjestusega. Nende meetodite mõistmine võib parandada teie kodeerimise tõhusust ja aidata teil hallata andmeid struktureeritumalt, mis viib programmi parema kavandamiseni ja täitmiseni.