Norėdami sukurti kilpas su skaitikliais, „Python“ naudokite „Enumerate“ funkciją

Use Enumerate Function Python Create Loops With Counters



Šiame straipsnyje bus paaiškinta, kaip naudoti surašymo funkciją, kurią galima rasti „Python“ standartinėje modulių bibliotekoje. Sąrašo funkcija leidžia priskirti indeksą ar skaičių elementams bet kuriame pasikartojančiame objekte. Tada galite jose įdiegti tolesnę logiką, nes turėsite prieigą prie abiejų verčių ir prie jų priskirto skaičiaus.

Sintaksė ir pagrindinis pavyzdys

Jei ciklą naudojote kitomis programavimo kalbomis, ypač C kalba ir kitomis kalbomis, turinčiomis C stiliaus sintaksę, galite nurodyti ciklo pradžios indeksą. Kaip nuoroda, čia atrodo, kaip for ciklas C ir kitomis kalbomis, turinčiomis panašią sintaksę:







dėl (tarpti= 0;i< 10;i++)

{

printf ('%d n',i);

}

Ciklo teiginys inicijuoja kintamąjį, kurio reikšmė lygi nuliui, patikrina, ar jis yra mažesnis už slenkstį, ir padidina jį vienu skaičiumi, įvertinęs ciklo bloko logiką (jei įvykdyta sustabdymo sąlyga). Tokiu būdu galite naudoti indeksą ir priskirti jį bet kokiems jūsų ciklo bloke nurodytiems objektams. Palyginimui, štai kaip atrodo ciklas su tuo pačiu rezultatu „Python“:



dėliį diapazonas(0, 10):

spausdinti (i)

„Python“ diapazono funkcija leidžia nurodyti skaičių diapazono seką, kurios numatytasis žingsnis yra 1. Žingsnio reikšmę galite pakeisti pateikdami trečiąjį argumentą. Antrasis diapazono funkcijos argumentas naudojamas sustabdymo sąlygos slenksčiui nustatyti. Abu kodo pavyzdžiai sukuria tokią išvestį:



0

1

2

3

4

5

6

7

8

9

Šios kilpos veikia gerai, jei norite tiesiog sugeneruoti tam tikrą skaičių seką ir susieti jas su tam tikra ciklo teiginio logika. Tačiau gali tekti naudoti kitą įdėtą kilpą arba bet kurio pasikartojančio tipo derlingumo funkciją, kad priskirtumėte jiems tam tikrą stebimą skaičių. Sąrašo metodas leidžia lengvai priskirti indeksus iterabuliams viename teiginyje, todėl nereikia paleisti kelių įdėtų kilpų. Pažvelkite į šį kodo pavyzdį:





skaičių= ['nulis', 'vienas', 'du', 'trys', 'keturi', „penki“]

surašyti_skaičiai= išvardytas(skaičių)

dėlindeksas,elementasįenumerated_numbers:

spausdinti (indeksas,elementas)

Pirmasis teiginys apibrėžia naują kintamąjį, vadinamą skaičiais, ir priskiria jam pasikartojantį (sąrašo tipą). Antrasis teiginys rodo surašymo funkcijos naudojimą, kai pateikiate jai pakartotiną kaip privalomą argumentą. Trečiasis teiginys konvertuoja kintamąjį enumerated_numbers į sąrašo tipo objektą. Pagal numatytuosius nustatymus funkcija enumerate sugeneruoja surašymo tipo objektą, o ne pasikartojantį tipą, todėl jūs turite jį konvertuoti. Paleidę aukščiau paminėtą kodo pavyzdį, turėtumėte gauti tokią išvestį:

[(0, „nulis“), (1, „vienas“), (2, „du“), (3, „trys“), (4, „keturi“), (5, „penki“)]

Funkcija surašyti priskiria skaičių kiekvienam elementui kartotinio tipo ir sukuria kartotekas, turinčias suporuotas reikšmes. Pagal numatytuosius nustatymus skaičiavimas prasideda nuo nulio.



Dabar, kai kiekvienam elementui priskyrėte pasikartojamo tipo numerį, galite lengvai jį pereiti, nerašydami įdėtų teiginių:

skaičių= ['nulis', 'vienas', 'du', 'trys', 'keturi', „penki“]

surašyti_skaičiai= išvardytas(skaičių)

dėlindeksas,elementasįenumerated_numbers:

spausdinti (indeksas,elementas)

Aukščiau nurodytas kodo pavyzdys duos tokią išvestį:

0 nulio

1 vienas

2 du

3 trys

4 keturi

5 penki

Galite sutrumpinti kodą naudodami įvestinę išvardinimo funkciją, kaip parodyta toliau pateiktame pavyzdyje:

skaičių= ['nulis', 'vienas', 'du', 'trys', 'keturi', „penki“]

dėlindeksas,elementasį išvardytas(skaičių):

spausdinti (indeksas,elementas)

Skaičiuoti naudojant kitą pradžios indeksą

Sąrašo funkcija turi pasirenkamą argumentą, kuriame galite nurodyti pradinį indeksą. Pagal numatytuosius nustatymus jis yra nulis, tačiau jį galite pakeisti naudodami pradžios argumentą:

skaičių= ['vienas', 'du', 'trys', 'keturi', „penki“]

dėlindeksas,elementasį išvardytas(skaičių,pradėti=1):

spausdinti (indeksas,elementas)

Antrame teiginyje start = 1 argumentas naudojamas pakeisti pradinį tašką. Paleidę aukščiau nurodytą kodo pavyzdį, turėtumėte gauti tokią išvestį:

1 vienas

2 du

3 trys

4 keturi

5 penki

Rodyklės priskyrimas žingsniais

Pirmajame šio straipsnio skyriuje rodoma ciklo sintaksė C kalba, kurioje galite apibrėžti žingsnius tarp kiekvieno paskesnio skaičiavimo ar indekso. Sąrašo funkcija „Python“ neturi tokio argumento, todėl negalite nurodyti žingsnio tarp skaičiavimų. Jūs iš tikrųjų galite parašyti savo logiką, kad atliktumėte veiksmus, nurodytus ciklo bloko sąraše. Tačiau yra būdas įgyvendinti pasirinktinius veiksmus rašant minimalų kodą. Šiame pavyzdyje parodyta, kaip įgyvendinti veiksmus naudojant zip ir diapazono funkcijas:

skaičių= ['nulis', 'du', 'keturi', „šeši“]

dėlindeksas,elementasį užtrauktukas(diapazonas(0, 7, 2),skaičių):

spausdinti (indeksas,elementas)

„ZIP“ funkcija leidžia kurti poras, paimant elementus, turinčius tą patį indeksą iš dviejų ar daugiau pasikartojančių dalykų. Taigi „zip“ funkcija paima elementą iš pasikartojančios funkcijos, grąžintos iš diapazono (0, 7, 2), ir kitą elementą iš skaičių sąrašo, tada suporuoja juos į kartoteką. Galutinis rezultatas yra identiškas funkcijai išvardyti, tačiau pritaikyti veiksmai nurodyti kaip trečiasis diapazono (0, 7, 2) funkcijos argumentas (šiuo atveju - 2). Paleidę aukščiau nurodytą kodo pavyzdį, turėtumėte gauti tokią išvestį:

0 nulio

2 du

4 keturi

6 šeši

Išvada

Sąrašo funkcija „Python“ leidžia parašyti glaustą kodą, priskiriant skaičių seką pasikartojančio objekto elementams. Tai tikrai naudinga, jei norite sekti pasikartojančio tipo elementų indeksą. Jei norite išvardyti pasikartojančius tipus su pasirinktiniais veiksmais, naudokite paskutiniame pavyzdyje aprašytą zip funkciją.