for loop in python. Syntaks, listeiterasjon, pause, fortsett og andre funksjoner

Цikl for python i syklus mens – uttalelser programvare Språk, nemlig: iterasjonsoperatører, laing gjenta koden gitt nummer tid.

Цикл For - сintaxi

Som allerede forklart, cinclude for i Python er en iterator basert påй per syklusidentitet. er han handlinger av tuppelelementer и liste, ordforråd nøkler og annen iterable objekter.

En løkke i Python begynner med nøkkelordet for, etterfulgt av et vilkårlig variabelnavn som lagrer verdien til neste objekt i den gitte sekvensen. Den generelle syntaksen for for...in i python ser slik ut:

for i: annet:      

komponenter "sekvenser" er listet en etter en syklusvariabel. Eller heller, variabel peker på slik elementer. For alle eller dem "handling" utføres.

En enkel loop i Python med et spesifikt eksempel:

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

Den andre blokken er spesiellth. Hvis en programmererыarbeid с Perl kjentы med ham, Det for de som samhandler с C og C++ — dette er en innovasjon. Semantisk det funksjoner тidentisk mens løkken.

Kun utført når loopen ikke er "stoppet" av break-setningen. Det vil si at den utføres først etter at alle elementene har gått gjennom den angitte sekvensen.

Pauseoperator i python – pause

Hvis programmet har en for loop nødvendig avbrytede bryte erklæring, he fullføreDet gårog program flyten vil kontoå være uten aktivering fra annet.

Oftere bryte fraser i pythonuyutsya med betingede uttalelser.

edibles = ["koteletter", "dumplings","egg","nøtter"] for mat i spiselige varer: if food == "dumplings": print("Jeg spiser ikke dumplings!") break print("Flott, deilig " + mat) else: print("Det er bra at det ikke var dumplings!") print("Middagen er over.")

Hvis du kjører denne koden, får du følgende resultat:

Flotte, deilige koteletter. Jeg spiser ikke dumplings! Middagen er over.

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

Utmerket, deilige koteletter Utmerket, deilige egg Utmerket, deilige nøtter Bra det ikke var dumplings! Middagen er over.

python skip-operator – fortsett

La oss si at brukerens antipati mot slike produkter ikke er så stor at de fullstendig forlater forbruket. Som et resultat fortsetter løkken med operatøren continue. Følgende skript bruker setningen continue, for å fortsette å iterere gjennom listen over "dumpling-kontakt".

edibles = ["koteletter", "dumplings","egg","nøtter"] for mat i spiselige varer: if food == "dumplings": print("Jeg spiser ikke dumplings!") continue print("Flott, deilig " + mat) # dette kan være kode for å nyte mat :-) else: print("Jeg hater dumplings!") print("Middagen er over.")

Bunnlinjen:

Flotte, deilige koteletter. Jeg spiser ikke dumplings! Flotte, deilige egg Flotte, deilige nøtter Jeg hater dumplings! Middagen er over.

Itererer over lister med range()-funksjonen

Hvis du vil ha tilgang til indeksene til en liste, er det ikke klart hvordan du bruker en for-løkke til dette formålet. Det er mulig å få tilgang til alle elementer, men elementets indeks vil forbli utilgjengelig. Det finnes imidlertid en metode for å få tilgang til både elementets indeks og selve elementet. Til dette formålet brukes funksjonen range() kombinert med lengdefunksjonen len():

fibonacci = [0,1,1,2,3,5,8,13,21] for i i området(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

Merk følgende! Ved bruk len() к list or tuple, oppnås det tilsvarende antall elementer i den gitte sekvensen.

Vanskeligheter med å iterere over lister

Når du itererer over en liste, anbefales det å unngå listedynamikk i loopkroppen. For klarhetens skyld kan vi tilby følgende alternativ:

farger = ["rød"] for i i farger: if i == "rød": farger += ["svart"] if i == "svart": farger += ["hvit"] print(farger)

Hva skjer ved søknad print(colours)?

['rød', 'svart', 'hvit']

For å unngå dette, anbefales det å samhandle med kopien ved hjelp av skiver, som i eksemplet nedenfor:

farger = ["rød"] for i i farger[:]: if i == "rød": farger += ["svart"] if i == "svart": farger += ["hvit"] print(farger) )

Resultat:

['Rød svart']

Listen er endret colours, men denne handlingen påvirket ikke loopen. Dataene som måtte itereres forble uendret under utførelsen av løkken.

Oppregne i python 3

Enumerate er en innebygd Python-funksjon. De fleste nybegynnere, så vel som noen erfarne programmerere, er ikke klar over dens eksistens. Den lar deg automatisk telle iterasjoner av løkken. For eksempel:

for teller, verdi i enumerate(some_list): print(counter, value)

Funksjon enumerate tar også et valgfritt argument (verdien til opprinnelsen, tatt som standard for 0). Noe som gjør det enda mer effektivt.

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

Legg igjen en kommentar