Innhold
Ц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
ortuple
, 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