for loop i python. Syntaks, liste iteration, break, fortsæt og andre funktioner

Цikl for python i cyklus mens – udsagn software Sprog, nemlig: iterationsoperatorer, ladING gentag kode givet nummer tid.

Цикл For - сintaxier

Som allerede forklaret, cainclude for i Python er en iterator baseret påй pr. cyklusidentitet. er han handlinger ved tupelelementer и liste, ordforråd nøgler og andre iterable objekter.

En løkke i Python begynder med nøgleordet for, efterfulgt af et vilkårligt variabelnavn, der gemmer værdien af ​​det næste objekt i den givne sekvens. Den generelle syntaks for for...in i python ser sådan ud:

for i: andet:      

komponenter "sekvenser" er listet den ene efter den anden cyklus variabel. Eller hellere, variable peger på sådan elementer. For alle af dem "handling" udføres.

En simpel loop i Python med et specifikt eksempel:

>>> sprog = ["C", "C++", "Perl", "Python"] >>> for x i sprog: ... print(x) ... C C++ Perl Python >>>

Den anden blok er specielth. Hvis en programmørыarbejder с Perl bekendtы med ham, at for dem, der interagerer с C og C++ — dette er en innovation. Semantisk det funktioner тidentisk mens løkke.

Kun udført, når løkken ikke er "stoppet" af break-sætningen. Det vil sige, at det kun udføres, efter at alle elementer er gået gennem den angivne sekvens.

Break operator i python – break

Hvis programmet har en for loop nødvendig afbrydeog pauseerklæring, he fuldføredet går, program flow vilje contat være uden aktivering fra andet.

Oftere bryde sætninger i pythonuyutsya med betingede erklæringer.

edibles = ["koteletter", "dumplings","æg","nødder"] til mad i spiselige varer: if food == "dumplings": print("Jeg spiser ikke dumplings!") break print("Fantastisk, lækker " + mad) else: print("Det er godt, der ikke var dumplings!") print("Middagen er slut.")

Hvis du kører denne kode, får du følgende resultat:

Store, lækre koteletter. Jeg spiser ikke dumplings! Middagen er slut.

Vi fjerner "dumplings" fra den eksisterende liste over data og får:

Fremragende, lækre koteletter Fremragende, lækre æg Fremragende, lækre nødder Godt nok var der ingen dumplings! Middagen er slut.

python skip-operator – fortsæt

Lad os sige, at brugerens antipati over for sådanne produkter ikke er så stor, at de helt opgiver deres forbrug. Som et resultat fortsætter løkken med operatøren continue. Følgende script bruger sætningen continue, for at fortsætte med at iterere gennem listen over "dumpling-kontakt".

edibles = ["koteletter", "dumplings","æg","nødder"] til mad i spiselige varer: if food == "dumplings": print("Jeg spiser ikke dumplings!") fortsæt print("Fantastisk, lækker " + mad) # dette kunne være kode til at nyde mad :-) else: print("Jeg hader dumplings!") print("Aftensmaden er forbi.")

Bundlinjen:

Store, lækre koteletter. Jeg spiser ikke dumplings! Store, lækre æg Store, lækre nødder Jeg hader dumplings! Middagen er slut.

Iteration over lister med range()-funktionen

Hvis du vil have adgang til indekserne på en liste, er det ikke klart, hvordan du bruger en for-løkke til dette formål. Det er muligt at få adgang til alle elementer, men elementets indeks forbliver utilgængeligt. Der er dog en metode til at få adgang til både elementets indeks og selve elementet. Til dette formål bruges funktionen range() kombineret med længdefunktionen len():

fibonacci = [0,1,1,2,3,5,8,13,21] for i in range(len(fibonacci)): print(i,fibonacci[i])

Få:

0 0 1 1 2 1 3 2 4 3 5 5 6 8 7 13 8 21

Opmærksomhed! Ved anvendelse len() к list or tuple, opnås det tilsvarende antal elementer i den givne sekvens.

Vanskeligheder ved at gentage lister

Når du itererer over en liste, anbefales det at undgå listedynamik i løkkens krop. For klarhedens skyld kan vi tilbyde følgende mulighed:

farver = ["rød"] for i i farver: if i == "rød": farver += ["sort"] if i == "sort": farver += ["hvid"] print(farver)

Hvad sker der ved ansøgning print(colours)?

['rød', 'sort', 'hvid']

For at undgå dette anbefales det at interagere med kopien ved hjælp af udsnit, som i eksemplet nedenfor:

farver = ["rød"] for i i farver[:]: if i == "rød": farver += ["sort"] if i == "sort": farver += ["hvid"] print(farver )

Resultat:

['Rød Sort']

Listen er blevet ændret colours, men denne handling påvirkede ikke løkken. De data, der skulle itereres, forblev uændrede under udførelsen af ​​løkken.

Opregn i python 3

Enumerate er en indbygget Python-funktion. De fleste begyndere, såvel som nogle erfarne programmører, er ikke klar over dets eksistens. Det giver dig mulighed for automatisk at tælle iterationer af løkken. For eksempel:

for tæller, værdi i enumerate(some_list): print(tæller, værdi)

Funktion enumerate tager også et valgfrit argument (værdien af ​​oprindelsen, taget som standard for 0). Hvilket gør det endnu mere effektivt.

my_list = ['æble', 'banan', 'kirsebær', 'fersken'] for c, værdi i enumerate(min_liste, 1): print(c, værdi) # Resultat: # 1 æble # 2 banan # 3 kirsebær # 4 fersken

Giv en kommentar