U loop For in Python hà alcune caratteristiche diverse da altre lingue di prugrammazione. Vi lassu ciò ch'e aghju imparatu per ottene u più da unu di i loops più utilizati.
In Python hè destinatu à iterà attraversu un ughjettu iterable, sia una lista, un oggettu, o un altru elementu.
A seguente struttura hè
h2=[ 'Valencia', 'Castellón', 'Alicante'] for j in h2: instructions
Quì h2 hè un elementu iterable per esempiu una lista h2=[ 'Valencia', 'Castellón', 'Alicante']. U ciclu duverà 3 iterazioni, in u primu j=Valencia in u sicondu a variabile j=Castellón.
È cun questu pudemu definisce l'istruzzioni chì vulemu, sempre ricurdendu l'indentazione, qualcosa essenziale in Python è chì assai persone ignoranu, ottenendu errori in u codice.
Iterate per u ciclu un numeru esattu di volte.
Se vulemu ripetiri un certu nùmeru di volte cum'è pudemu fà in C++, avemu da aduprà range (). Per iterà 10 volte avemu aduprà a
for element in Range(9): instructions
Pudemu 9 è micca 10 perchè Range principia da 0, cusì da 0 à 9 ci sò 10 iterazioni o volte di u ciclu.
Sapendu Range () ci permette, invece di mette un numeru à l'internu, per mette una variabile, cusì averemu assai più cuntrollu.
var = 10 for element in Range(var): instructions
A funzione Range hà parechje opzioni, ne parleraghju in un altru postu, per ùn mischjà u cuntenutu è sviluppà u più pussibule.
Moltu più pò esse fattu per cuntrullà u flussu di u ciclu for.
Break and Continue Statements
Ci sò 2 funziunalità assai utile chì ci permettenu di fà un loop per assai funziunale, fon a pausa è a cuntinuà. Sò generalmente utilizati cù cundizzioni, se, verificate se qualcosa hè vera.
Funzionanu in altri loops, è ci hè una altra dichjarazione interessante chì hè passata, chì hè una dichjarazione chì hè eseguita ma ùn face nunda è hè ideale per quandu vulemu definisce una struttura chì esige cumandamenti ma vulemu mette più tardi (i cumenti sò micca utile per questu)
Break
Cù break, pudemu esce da u ciclu in ogni mumentu. Comu imagine assai utile. Hè vera chì ci sò altre strutture cum'è Mentre,
numeros = [1, 2, 4, 3, 5, 8, 6] for n in numeros: if n == 3: break else: print('No se encontró el número 3')
Cuntinuà
Ci face andà à u prossimu elementu in u ciclu.
numeros = [1, 2, 4, 3, 5, 8, 6] for n in numeros: if n == 3: continue else: print('No se encontró el número 3')
https://j2logo.com/bucle-for-en-python/
Per ... altru
Ci hè una struttura derivata da For, chì hè per ... altru
datos = [1, 2, 3, 4, 5] for n in datos: if n == 2: break else: print('No hay 2')
Sta struttura hè ghjunta dopu avè vistu chì era necessariu è chì parechje persone anu utilizatu modi alternativu per ottene questu. Cusì, aiutanu a ghjente è uttene un codice più leggibile
per _ in iterable
Aghju vistu questu in certi prugrammi ancu s'ellu ùn l'aghju mai usatu.
Quandu iteremu un ughjettu, lista, dizziunariu, etc., ma u cuntenutu di quelli elementi ùn ci interessa micca, pudemu indicà cù _
Un esempiu:
Vulemu cuntà l'elementi di una lista, ma ùn ci importa micca ciò chì cuntene, vulemu solu a so lunghezza.
h2=[ 'Valencia', 'Castellón', 'Alicante'] count = 0 for _ in h2: cont += 1
In parechji siti ricumandenu micca di abusà di sta pratica. Ùn sò micca veramente i vantaghji chì presenta, hè più veloce ?
Hè cunsigliatu in u cursu di Harvard Introduzione à Python. Quandu iteratemu nantu à una variàbile ma ùn l'avemu micca aduprà per tuttu, mettemu l'undescore, hè cumu si cummentanu quì un Pythonic, una pratica Python chì ùn si vede micca in altre lingue, aiuta a leggibilità per ùn avè micca esse. cuscenza di ciò chì hè per.
loop in daretu
indietro per loop. Per iterà da a fine à u principiu
Utiliza a funzione inversa () introdutta in python 3
h2=[ 'Valencia', 'Castellón', 'Alicante'] for j in reversed(h2): print (j)
Boucle avec deux indices, valeur de l'itérable et indice
Cù enumerate() pudemu travaglià cù l'indici di una cullizzioni. Perchè parechje volte, in più di u valore di l'ughjettu iterable stessu, avemu interessatu in u so indice.
h2=[ 'Valencia', 'Castellón', 'Alicante'] for j, h in enumerate(h2): print j, '-->', h2[i]
Iterazione di più di 2 liste
Un'altra opzione assai interessante hè zip () chì farà u nostru travagliu più faciule è farà u nostru codice più simplice è più leggibile.
h2=[ 'Valencia', 'Castellón', 'Alicante'] cod=[100, 200, 300] for j, h in zip(h2, cod): print h2, '-->', cod
In Python 2.x izip () hè stata utilizata per rinfurzà sta funzione, ma in Python 3 izip hè zip ()
Looping in ordine ordinatu
Iterate in ordine per u valore di l'ughjettu invece di u so indice. sorted() hè utilizatu
colors = ['rojo', 'amarillo', 'verde'] for color in sorted(colors): print color
È s'è no vulemu fà in daretu
colors = ['rojo', 'amarillo', 'verde'] for color in sorted(colors, reverse=True): print color
Ordine di sorta persunalizata
colors = ['rojo', 'amarillo', 'verde'] for color in sorted(colors, key=len): print color
Valore Sentinel in for loop
U valore sentinella hè un valore chì provoca a fine di u ciclu. Hè di solitu prisentatu in un ciclu di tempu, ma Raymond Hettinger ci mostra cumu aduprà cù un for, chì hè più veloce.
blocks = [] for block in iter(partial(f.read, 32), ''): blocks.append(block) print (block)
Traversa i dizionari cù for
I dizziunari sò arnesi essenziali per sprime e rilazioni è fà raggruppamenti.
Pudete passà per u dizziunariu in modu tradiziunale cù per, ma chì ùn vulterà micca tutte l'infurmazioni, ùn pudemu micca travaglià cù valori è indici cusì, s'ellu ùn cuminciamu micca à aghjunghje contatori è altri. elementi.
d = {'casa': 'azul', 'coche': 'rojo', 'hombre': 'verde'} for k in d.keys(): if k.startswith('r'): del d[k]
In questu modu, in più di vede l'elementi, pudemu mudificà u dizziunariu cambiendu elementi o sguassate, à tempu chì u ciclu for hè iteratu.
d.keys() chjama l'argumenti è face una copia chì guarda in una lista chì pudemu mudificà.
Per ottene indici è valori invece di qualcosa di tradiziunale è questu hè u primu chì vene in mente per quelli di noi chì cumincianu à prugrammà
for k in d: print k, '-->', d[k]
Avemu aduprà sta opzione assai più veloce
for k, v in d.items(): print k, '-->', v
itemitems() cà items()
Parlà di Loops in Python da Raymond Hettinger
Hè un video anticu ma assai illustratu, induve in i primi 20 minuti Raymond Hettinger ci insegna e diverse pussibulità di loops in Python è ci dà esempi di cumu trasformanu strutture largamente usate da e persone in funzioni, per fà u ciclu più leggibile è simplice. .codice.