bucle for en python. Sintaxe, iteraciĆ³n da lista, romper, continuar e outras funciĆ³ns

Š¦ikl para python i ciclo mentres ā€“ declaraciĆ³ns software lingua, a saber: operadores de iteraciĆ³n, leting repetir cĆ³digo nĆŗmero dado tempo.

Š¦ŠøŠŗŠ» Para ā€” сintaxis

Como xa se explicou, cinclude for en Python Ć© un iterador baseado enŠ¹ por cicloidentidade. Ć© el actos por elementos tuplas Šø lista, vocabulario chaves e outro obxectos iterables.

Un bucle en Python comeza coa palabra clave for, seguida dun nome de variable arbitrario que almacena o valor do seguinte obxecto na secuencia dada. A sintaxe xeral para for...in en Python Ć© asĆ­:

for in: else:      

CompoƱentes "secuencias" estĆ”n listados un tras outro variable de ciclo. Ou mellor dito, variable apunta a tal elementos. Para todos deles "acciĆ³n" realĆ­zase.

Un simple bucle for en Python cun exemplo especĆ­fico:

>>> linguaxes = ["C", "C++", "Perl", "Python"] >>> para x nas linguas: ... print(x) ... C C++ Perl Python >>>

O bloque else Ć© especialth. Se a programadorыtraballando с Perl familiarы con Ć©l, Que para os que interactĆŗan с C e C++ - esta Ć© unha innovaciĆ³n. Semanticamente iso funciĆ³ns тde xeito idĆ©ntico loop mentres.

SĆ³ se executa cando o bucle non Ć© "detido" pola instruciĆ³n break. Ɖ dicir, execĆŗtase sĆ³ despois de que todos os elementos pasaron pola secuencia especificada.

Operador de ruptura en python: ruptura

Se o programa ten un bucle for necesario detero declaraciĆ³n de ruptura, he completarvai programa fluxo vontade contaser sen activaciĆ³n doutro.

MĆ”is a miĆŗdo romper frases en pythonuyutsya con declaraciĆ³ns condicionais.

comestibles = ["chuletas", "boliƱos","ovos","noces"] para alimentos en comestibles: if food == "boliƱos": print("Ā”Eu non como boliƱas!") break print("Xenial, delicious " + comida) else: print("Ɖ bo que non houbese boliƱas!") print("A cea rematou.")

Se executas este cĆ³digo, obterĆ”s o seguinte resultado:

Chuletas estupendas, deliciosas. Eu non como boliƱas! A cea rematou.

Eliminamos as "bolas de masa" da lista de datos existente e obtemos:

Excelentes chuletas deliciosas Excelentes ovos deliciosos Excelentes froitos secos deliciosos Ɖ ben que non habĆ­a boliƱas! A cea rematou.

operador de salto de python: continĆŗa

Digamos que a antipatĆ­a do usuario a tales produtos non Ć© tan grande como para abandonar completamente o seu consumo. Como resultado, o bucle continĆŗa co operador continue. O seguinte script usa a instruciĆ³n continue, para seguir iterando a lista de "contacto de boliƱas".

comestibles = ["chuletas", "boliƱas","ovos","noces"] para alimentos en comestibles: if food == "boliƱas": print("Non como boliƱas!") continue print("Xenial, delicioso " + comida) # isto poderĆ­a ser un cĆ³digo para gozar da comida :-) else: print("Odio as boliƱas!") print("A cea rematou.")

O punto de partida:

Chuletas estupendas, deliciosas. Eu non como boliƱas! Ovos estupendos e deliciosos Noces estupendas e deliciosas. Odio as boliƱas! A cea rematou.

Iterando sobre listas coa funciĆ³n range().

Se queres acceder aos Ć­ndices dunha lista, non estĆ” claro como usar un bucle for para este fin. Ɖ posible acceder a todos os elementos, pero o Ć­ndice do elemento permanecerĆ” inaccesible. Non obstante, hai un mĆ©todo para acceder tanto ao Ć­ndice do elemento como ao propio elemento. Para este fin, utilĆ­zase a funciĆ³n range() combinado coa funciĆ³n de lonxitude len():

Fibonacci = [0,1,1,2,3,5,8,13,21] para i no rango(len(fibonacci)): print(i,fibonacci[i])

Obter:

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

AtenciĆ³n! Cando se aplica len() Šŗ list or tuple, obtense o nĆŗmero correspondente de elementos da secuencia dada.

Dificultades para iterar sobre listas

Ao iterar sobre unha lista, recomĆ©ndase evitar a dinĆ”mica da lista no corpo do bucle. Para mĆ”is claridade, podemos ofrecer a seguinte opciĆ³n:

cores = ["vermello"] para i en cores: if i == "vermello": cores += ["negro"] if i == "negro": cores += ["branco"] imprimir(cores)

Que pasa ao solicitar print(colours)?

['vermello', 'negro', 'branco']

Para evitar isto, recomƩndase interactuar coa copia mediante franxas, como no seguinte exemplo:

cores = ["vermello"] para i en cores[:]: if i == "vermello": cores += ["negro"] if i == "negro": cores += ["branco"] print(cores )

Resultado:

['Vermello Negro']

A lista foi modificada colours, pero esta acciĆ³n non afectou ao bucle. Os datos que debĆ­an ser iterados permaneceron inalterados durante a execuciĆ³n do bucle.

Enumerar en Python 3

Enumerate Ć© unha funciĆ³n integrada de Python. A maiorĆ­a dos principiantes, asĆ­ como algĆŗns programadores experimentados, non son conscientes da sĆŗa existencia. PermĆ­telle contar automaticamente as iteraciĆ³ns do bucle. Por exemplo:

para contador, valor en enumerate(algunha_lista): imprimir(contador, valor)

funciĆ³n enumerate tamĆ©n leva un argumento opcional (o valor da orixe, tomado por defecto para 0). O que o fai aĆ­nda mĆ”is eficiente.

my_list = ['apple', 'banana', 'cherry', 'peach'] for c, value in enumerate(my_list, 1): print(c, value) # Resultado: # 1 mazĆ” # 2 banana # 3 cereixa # 4 pexego

Deixe unha resposta