för loop i python. Syntax, listiteration, break, fortsätt och andra funktioner

Цikl för python i cykel medan – uttalanden programvara språket, nämligen: iterationsoperatorer, låtanvändning upprepa koden givet nummer tid.

Цикл För — сintaxi

Som redan förklarats, cinclude for i Python är en iterator baserad påй per cykelidentitet. Är han handlingar genom tupelelement и lista, vokabulär nycklar och andra itererbara objekt.

En loop i Python börjar med nyckelordet for, följt av ett godtyckligt variabelnamn som lagrar värdet på nästa objekt i den givna sekvensen. Den allmänna syntaxen för for...in i python ser ut så här:

för i: else:      

Komponenter "sekvenser" är listade en efter en cykelvariabel. Eller snarare, variabel pekar på sådana element. För alla av dem "åtgärd" utförs.

En enkel loop i Python med ett specifikt exempel:

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

Det andra blocket är specielltth. Om en programmerareыarbetssätt с Perl bekantы med honom, den där för de som interagerar с C och C++ — detta är en innovation. Semantiskt det funktioner тidentiskt medan slingan.

Körs endast när loopen inte "stoppas" av break-satsen. Det vill säga, det exekveras först efter att alla element har passerat den angivna sekvensen.

Pausoperator i python – paus

Om programmet har en for loop nödvändigt för avbryterd bryta uttalande, he fullbordadet gåroch program flöda kommer kontoatt vara utan aktivering från annat.

Oftare bryta fraser i pythonuyutsya med villkorliga uttalanden.

edibles = ["kotletter", "dumplings","ägg","nötter"] för mat i ätbara: om mat == "dumplings": print("Jag äter inte klimpar!") break print("Bra, utsökt " + mat) else: print("Det är bra att det inte fanns några dumplings!") print("Middagen är över.")

Om du kör den här koden får du följande resultat:

Stora, läckra kotletter. Jag äter inte dumplings! Middagen är över.

Vi tar bort "dumplings" från den befintliga listan med data och får:

Utmärkt, läckra kotletter Utmärkt, läckra ägg Utmärkt, läckra nötter Bra att det inte fanns några klimpar! Middagen är över.

python skip operator – fortsätt

Låt oss säga att användarens antipati mot sådana produkter inte är så stor att de helt överger sin konsumtion. Som ett resultat fortsätter slingan med operatören continue. Följande skript använder uttalandet continue, för att fortsätta att iterera genom listan på "dumpling kontakt".

edibles = ["kotletter", "dumplings","ägg","nötter"] för mat i ätbara: om mat == "dumplings": print("Jag äter inte klimpar!") continue print("Bra, utsökt " + mat) # det här kan vara koden för att njuta av mat :-) else: print("Jag hatar dumplings!") print("Middagen är över.")

Poängen:

Stora, läckra kotletter. Jag äter inte dumplings! Fantastiska, läckra ägg Fantastiska, läckra nötter Jag hatar klimpar! Middagen är över.

Itererar över listor med range()-funktionen

Om du vill komma åt indexen för en lista är det inte klart hur man använder en for-loop för detta ändamål. Det är möjligt att komma åt alla element, men elementets index kommer att förbli otillgängligt. Det finns dock en metod för att komma åt både elementets index och själva elementet. För detta ändamål används funktionen range() kombinerat med längdfunktionen len():

fibonacci = [0,1,1,2,3,5,8,13,21] för i i intervallet(len(fibonacci)): print(i,fibonacci[i])

Skaffa sig:

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

Uppmärksamhet! När den tillämpas len() к list or tuple, erhålls motsvarande antal element i den givna sekvensen.

Svårigheter att iterera över listor

När du itererar över en lista, rekommenderas det att undvika listdynamik i loopkroppen. För tydlighetens skull kan vi erbjuda följande alternativ:

färger = ["röd"] för i i färger: om i == "röd": färger += ["svart"] om i == "svart": färger += ["vit"] print(färger)

Vad händer vid ansökan print(colours)?

['röd', 'svart', 'vit']

För att undvika detta rekommenderas det att interagera med kopian med hjälp av skivor, som i exemplet nedan:

färger = ["röd"] för i i färger[:]: if i == "röd": färger += ["svart"] om i == "svart": färger += ["vit"] print(färger) )

Resultat:

['Röd svart']

Listan har ändrats colours, men den här åtgärden påverkade inte slingan. Datan som behövde itereras förblev oförändrad under körningen av slingan.

Räkna upp i python 3

Enumerate är en inbyggd Python-funktion. De flesta nybörjare, liksom vissa erfarna programmerare, är inte medvetna om dess existens. Det låter dig automatiskt räkna iterationer av slingan. Till exempel:

för räknare, värde i enumerate(some_list): print(counter, value)

Funktion  enumerate tar också ett valfritt argument (värdet på ursprunget, taget som standard för 0). Vilket gör det ännu mer effektivt.

my_list = ['äpple', 'banan', 'körsbär', 'persika'] för c, värde i enumerate(min_lista, 1): print(c, värde) # Resultat: # 1 äpple # 2 banan # 3 körsbär # 4 persika

Kommentera uppropet