Per loop in Python

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.

Lascià un cumentu