Python

Loenduritega aasade loomiseks kasutage Pythonis funktsiooni Loenda funktsioon

Loenduritega aasade loomiseks kasutage Pythonis funktsiooni Loenda funktsioon

Selles artiklis selgitatakse Pythoni standardses mooduliteegis saadaval oleva funktsiooni „loenda” kasutamist. Funktsioon Loendamine võimaldab teil määrata mis tahes itereeritava objekti elementidele "indeksi" või "loendada". Seejärel saate neile rakendada täiendavat loogikat, kuna teil on juurdepääs mõlemale väärtusele ja sellele vastendatud arvule.

Süntaks ja põhinäide

Kui olete teistes programmeerimiskeeltes kasutanud tsüklit „for”, eriti „C” keeles ja teistes „C” stiilis süntaksiga keeltes, võite olla tsüklis määranud algusindeksi. Viide on järgmine, kuidas silmus “for” välja näeb “C” keeles ja teistes sarnase süntaksiga keeltes:

jaoks (int i = 0; i < 10; i++)

printf ("% d \ n", i);

Tsükli lause initsialiseerib muutuja, mille väärtus on null, kontrollib, kas see on väiksem kui künnis, ja suurendab seda pärast loogika hindamist tsükli plokis (kui peatamistingimus on täidetud). Nii saate kasutada indeksit ja määrata selle kõigile teie silmusplokis viidatud objektidele. Võrdluseks, siin näeb välja sama tulemusega for for loop Pythonis:

i jaoks vahemikus (0, 10):
trükk (i)

Pythoni funktsioon „vahemik” võimaldab teil määrata arvude vahemiku jada, mille vaikesamm on 1. Sammuväärtust saate muuta, sisestades kolmanda argumendi. Funktsiooni „vahemik” teist argumenti kasutatakse peatamistingimuse künnise määramiseks. Mõlemad koodinäidised annavad järgmise väljundi:

0
1
2
3
4
5
6
7
8
9

Need tsüklid töötavad hästi, kui soovite lihtsalt luua mingi arvujada ja seostada need tsükli lause sees oleva loogikaga. Võimalik, et peate siiski kasutama mõnda muud sisestatud tsüklit või kasutama mis tahes itereeritava tüübi funktsiooni “saagikus”, et määrata neile mingi jälgitav arv. „Loendamismeetodi” abil on hõlpsasti ühes avaldises iteratiividele indeksite määramine, välistades seeläbi vajaduse mitme sisestatud tsükli käivitamiseks. Vaadake seda koodinäidist:

numbrid = ["null", "üks", "kaks", "kolm", "neli", "viis"]
enumerated_numbers = loenda (numbrid)
indeksi jaoks üksus loetletud numbrites:
print (register, kirje)

Esimene lause määratleb uue muutuja nimega "arvud" ja määrab sellele iterable (loendi tüübi). Teine lause näitab funktsiooni „loendada” kasutamist, kui esitate sellele kohustusliku argumendina iteratsiooni. Kolmas lause teisendab muutuja „enumerated_numbers” loendi tüüpi objektiks. Vaikimisi genereerib funktsioon „enumerate” objekti „enumerate”, mitte korduva tüübi, seega peate selle teisendama. Pärast ülalnimetatud koodinäidise käivitamist peaksite saama järgmise väljundi:

[(0, 'null'), (1, 'üks'), (2, 'kaks'), (3, 'kolm'), (4, 'neli'), (5, 'viis')]

Funktsioon „loendaja” määrab igale iteratiivse tüübi elemendile loenduse ja loob paarisväärtustega rühmad. Vaikimisi algab loendamine nullist.

Nüüd, kui olete määranud igale itereeritava tüübi elemendile numbri, saate selle hõlpsalt üle vaadata, ilma pesastatud avaldusi kirjutamata:

numbrid = ["null", "üks", "kaks", "kolm", "neli", "viis"]
enumerated_numbers = loenda (numbrid)
indeksi jaoks üksus loetletud numbrites:
print (register, kirje)

Eespool nimetatud koodinäidis annab järgmise väljundi:

0 null
1 üks
2 kaks
3 kolm
4 neli
5 viis

Koodi saate lühemaks muuta, kasutades funktsioonisiseselt funktsiooni „loenda”, nagu on näidatud allpool toodud näidises:

numbrid = ["null", "üks", "kaks", "kolm", "neli", "viis"]
indeks, üksus loendis (numbrid):
print (register, kirje)

Loendamise kasutamine erineva algusindeksiga

Funktsioonil „loenda” võetakse valikuline argument, kus saate määrata algusindeksi. Vaikimisi on see null, kuid saate seda muuta, kasutades argumenti "start":

numbrid = ["üks", "kaks", "kolm", "neli", "viis"]
indeksi jaoks üksus loendis (numbrid, algus = 1):
print (register, kirje)

Teises lauses kasutatakse alguspunkti muutmiseks argumenti “start = 1”. Pärast ülalkirjeldatud koodinäidise käivitamist peaksite saama järgmise väljundi:

1 üks
2 kaks
3 kolm
4 neli
5 viis

Indeksi määramine sammudega

Selle artikli esimeses osas kuvatakse silmuse „for” süntaks „C” keeles, kus saate määratleda sammud iga järgneva loenduse või indeksi vahel. Pythoni funktsioonil „loenda” pole ühtegi sellist argumenti saadaval, nii et te ei saa loenduste vahelist sammu täpsustada. Loetletud tsükli ploki „for” sees olevate sammude rakendamiseks võite tõepoolest kirjutada oma loogika. Siiski on võimalus kohandatud toiminguid rakendada minimaalse koodi kirjutamisega. Järgmine näide näitab sammude rakendamist funktsioonide „zip” ja „vahemik” abil:

numbrid = ["null", "kaks", "neli", "kuus"]
indeksi jaoks üksus ZIP-kujul (vahemik (0, 7, 2), numbrid):
print (register, kirje)

Funktsioon “zip” võimaldab teil luua paare, korjates kahest või enamast iteratiivist sama indeksiga elemendid. Nii võtab funktsioon „zip” siin üles funktsioonist „vahemik (0, 7, 2)” tagastatud itereeritava elemendi ja loendi „numbrid” teise elemendi ning seob need mõlemad kaheks. Lõpptulemus on funktsioon, mis on identne funktsiooniga „loendada”, kuid funktsiooni „vahemik (0, 7, 2)” (antud juhul 2) kolmanda argumendina määratud kohandatud sammudega. Pärast ülalkirjeldatud koodinäidise käivitamist peaksite saama järgmise väljundi:

0 null
2 kaks
4 neli
6 kuus

Järeldus

Pythoni funktsioon „loenda” võimaldab teil kirjutada lühikest koodi, määrates itereeritava objekti elementidele arvujada. See on tõesti kasulik, kui soovite korrata itereeritava tüübi üksuste indeksit. Kui soovite kohandatud sammudega „loetleda” korduvaid tüüpe, kasutage viimases näites kirjeldatud funktsiooni „zip”.

Parimad Linuxi mängukonsooli emulaatorid
Selles artiklis loetletakse Linuxi jaoks saadaval olev populaarne mängukonsooli emuleerimise tarkvara. Emuleerimine on tarkvara ühilduvuse kiht, mis j...
Parimad mängude jaoks mõeldud Linuxi distrod 2021. aastal
Linuxi operatsioonisüsteem on oma algsest, lihtsast, serveripõhisest välimusest kaugele jõudnud. See operatsioonisüsteem on viimastel aastatel tohutul...
Kuidas Linuxis oma mänguseanssi jäädvustada ja voogesitada
Varem peeti mängude mängimist ainult hobiks, kuid aja jooksul kasvas mängutööstus tehnoloogia ja mängijate arvu osas tohutult. Mängupublik on veebimän...