bucla for în python. Sintaxă, iterație de listă, pauză, continuare și alte caracteristici

Цikl pentru python i ciclu în timp ce – enunţuri software-ul limba, și anume: operatori de iterație, LetING repeta codul număr dat timp.

Цикл Pentru — сintaxis

După cum sa explicat deja, cinclude for în Python este un iterator bazat peй pe cicluidentitate. este el Acte prin elemente tuplu и listă, vocabular chei și alte obiecte iterabile.

O buclă în Python începe cu cuvântul cheie for, urmat de un nume de variabilă arbitrară care stochează valoarea următorului obiect în secvența dată. Sintaxa generală pentru for...in în python arată astfel:

pentru in : else:      

Componente „secvențe” sunt afișate unul dupa altul variabilă de ciclu. Sau mai degrabă, variabile puncte către astfel de elemente. Pentru toată lumea dintre ei „acțiune” este efectuată.

O buclă simplă pentru în Python cu un exemplu specific:

>>> limbi = ["C", "C++", "Perl", "Python"] >>> pentru x în limbi: ... print(x) ... C C++ Perl Python >>>

Blocul else este specialth. În cazul în care o programatorыde lucru с Perl familiarы cu el, acea pentru cei care interacționează с C și C++ - aceasta este o inovație. Din punct de vedere semantic funcții тidentic în timp ce bucla.

Se execută numai când bucla nu este „oprită” de instrucțiunea break. Adică, se execută numai după ce toate elementele au trecut prin secvența specificată.

Operator Break în python – break

Dacă programul are o buclă for necesar întrerupeil declarație de pauză, he Completămergeși program debit voi cpentru a fi fără activare din altcineva.

Mai des break phrases in pythonuyutsya cu enunţuri condiţionale.

comestibile = ["cotlete", "găluște","ouă","nuci"] pentru alimente în comestibile: if food == "găluște": print("Nu mănânc găluște!") break print("Genial, delicios " + mâncare) else: print("E bine că nu au fost găluște!") print("Cina s-a terminat.")

Dacă rulați acest cod, obțineți următorul rezultat:

Cotlete grozave, delicioase. Nu mănânc găluște! Cina sa terminat.

Eliminam „găluștele” din lista de date existentă și obținem:

Cotlete excelente, delicioase Ouă excelente, delicioase Nuci excelente, delicioase Bine că nu au fost găluște! Cina sa terminat.

python skip operator – continua

Să spunem că antipatia utilizatorului față de astfel de produse nu este atât de mare încât să abandoneze complet consumul acestora. Ca rezultat, bucla continuă cu operatorul continue. Următorul script folosește instrucțiunea continue, pentru a continua iterarea prin lista cu „dumpling contact”.

comestibile = ["cotlete", "găluște","ouă","nuci"] pentru alimente în comestibile: if food == "găluște": print("Nu mănânc găluște!") continue print("Genial, delicios " + mâncare) # acesta ar putea fi codul pentru a savura mâncarea :-) else: print("Urăsc găluștele!") print("Cina s-a terminat.")

Linia de fund:

Cotlete grozave, delicioase. Nu mănânc găluște! Ouă grozave, delicioase Nuci grozave și delicioase Urăsc găluștele! Cina sa terminat.

Iterarea peste liste cu funcția range().

Dacă doriți să accesați indecșii unei liste, nu este clar cum să utilizați o buclă for în acest scop. Este posibil să accesați toate elementele, dar indexul elementului va rămâne inaccesibil. Cu toate acestea, există o metodă de accesare atât a indexului elementului, cât și a elementului în sine. În acest scop, se utilizează funcția range() combinat cu funcția de lungime len():

Fibonacci = [0,1,1,2,3,5,8,13,21] pentru i în interval(len(fibonacci)): print(i,fibonacci[i])

Obține:

0 0 1 121324 3 5 5 6 8

Atenţie! Când se aplică len() к list or tuple, se obține numărul corespunzător de elemente ale șirului dat.

Dificultăți de a repeta peste liste

Când iterați peste o listă, este recomandat să evitați dinamica listei în corpul buclei. Pentru claritate, vă putem oferi următoarea opțiune:

culori = ["rosu"] pentru i in culori: if i == "rosu": culori += ["negru"] if i == "negru": culori += ["alb"] imprimare(culori)

Ce se întâmplă la aplicare print(colours)?

[„roșu”, „negru”, „alb”]

Pentru a evita acest lucru, este recomandat să interacționați cu copia folosind felii, ca în exemplul de mai jos:

culori = ["rosu"] pentru i in culori[:]: if i == "rosu": culori += ["negru"] if i == "negru": culori += ["alb"] print(culori )

Rezultat:

[„Roșu Negru”]

Lista a fost schimbată colours, dar această acțiune nu a afectat bucla. Datele care trebuiau iterate au rămas neschimbate în timpul execuției buclei.

Enumerați în python 3

Enumerate este o funcție Python încorporată. Majoritatea începătorilor, precum și unii programatori experimentați, nu sunt conștienți de existența acestuia. Vă permite să numărați automat iterațiile buclei. De exemplu:

pentru contor, valoare în enumerate(some_list): print(counter, value)

Funcţie enumerate preia, de asemenea, un argument opțional (valoarea originii, luată implicit pentru 0). Ceea ce îl face și mai eficient.

lista_mea = ['măr', 'banana', 'cireş', 'piersică'] pentru c, valoare în enumerate(lista_mea, 1): print(c, valoare) # Rezultat: # 1 măr # 2 banană # 3 cireșe # 4 piersici

Lasă un comentariu