boucle for en python. Syntaxe, itération de liste, pause, continuer et autres fonctionnalités

Цikl pour python je cycle tandis que - déclarations ,software langue, à savoir: opérateurs d'itération, soitingurgiter répéter le code nombre donné le temps.

Цикл Pour — сintaxie

Comme déjà expliqué, cinclude for en Python est un itérateur basé surй par cycleidentité. est-il actes par des éléments de tuple и la liste, vocabulaire clés et autre objets itérables.

Une boucle en Python commence par le mot-clé for, suivi d'un nom de variable arbitraire qui stocke la valeur de l'objet suivant dans la séquence donnée. La syntaxe générale de for…in en python ressemble à ceci :

pour dans : sinon:      

Composantes "séquences" sont répertoriés l'un après l'autre variables cycliques. Ou plutôt, des points variables à tel éléments. Pour tout le monde d'entre eux "l'action" est accomplie.

Une simple boucle for en Python avec un exemple précis :

>>> langages = ["C", "C++", "Perl", "Python"] >>> pour x dans les langages : ... print(x) ... C C++ Perl Python >>>

Le bloc else est spéciale. Si un programmeurыde travail с Perl familierы avec lui, qui pour ceux qui interagissent с C et C++ — c'est une innovation. Sémantiquement, il fonctions тà l'identique boucle tout en.

Exécuté uniquement lorsque la boucle n'est pas « arrêtée » par l'instruction break. C'est-à-dire qu'il n'est exécuté qu'après que tous les éléments sont passés par la séquence spécifiée.

Opérateur break en python - break

Si le programme a une boucle for nécessaire interromprele déclaration de rupture, he completça vaainsi que Danse flux sera compteêtre sans activation d'ailleurs.

Plus souvent phrases brisées en pythonuyutsya avec des instructions conditionnelles.

edibles = ["côtelettes", "dumplings","oeufs","noix"] for food in edibles : if food == "dumplings": print("Je ne mange pas de dumplings !") break print("Génial, délicieux " + nourriture) else : print("C'est bien qu'il n'y ait pas de boulettes !") print("Le dîner est terminé.")

Si vous exécutez ce code, vous obtenez le résultat suivant :

Des côtelettes excellentes et délicieuses. Je ne mange pas de boulettes ! Le dîner est terminé.

Nous supprimons les "boulettes" de la liste de données existante et obtenons :

Excellentes côtelettes délicieuses Oeufs excellents et délicieux Noix excellentes et délicieuses Heureusement qu'il n'y avait pas de boulettes ! Le dîner est terminé.

opérateur de saut python - continuer

Disons que l'antipathie de l'utilisateur envers de tels produits n'est pas assez grande pour abandonner complètement leur consommation. En conséquence, la boucle continue avec l'opérateur continue. Le script suivant utilise l'instruction continue, pour continuer à parcourir la liste sur "contact de boulette".

edibles = ["côtelettes", "dumplings","oeufs","noix"] for food in edibles : if food == "dumplings": print("Je ne mange pas de dumplings !") continue print("Génial, délicieux " + nourriture) # cela pourrait être un code pour apprécier la nourriture :-) else : print("Je déteste les dumplings !") print("Le dîner est terminé.")

La ligne de fond:

Des côtelettes excellentes et délicieuses. Je ne mange pas de boulettes ! Super, délicieux œufs Super, délicieuses noix Je déteste les boulettes ! Le dîner est fini.

Itérer sur des listes avec la fonction range()

Si vous souhaitez accéder aux index d'une liste, il n'est pas clair comment utiliser une boucle for à cette fin. Il est possible d'accéder à tous les éléments, mais l'index de l'élément restera inaccessible. Cependant, il existe une méthode pour accéder à la fois à l'index de l'élément et à l'élément lui-même. A cet effet, la fonction est utilisée range() combiné avec la fonction de longueur len():

fibonacci = [0,1,1,2,3,5,8,13,21] for i in range(len(fibonacci)): print(i,fibonacci[i])

Obtenir:

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

Attention! Lorsqu'il est appliqué len() к list or tuple, le nombre correspondant d'éléments de la séquence donnée est obtenu.

Difficultés d'itération sur les listes

Lors de l'itération sur une liste, il est recommandé d'éviter la dynamique de liste dans le corps de la boucle. Pour plus de clarté, nous pouvons proposer l'option suivante :

colors = ["red"] for i in colors: if i == "red": colors += ["black"] if i == "black": colors += ["white"] print(colours)

Que se passe-t-il lors de la candidature print(colours)?

['rouge', 'noir', 'blanc']

Pour éviter cela, il est recommandé d'interagir avec la copie à l'aide de tranches, comme dans l'exemple ci-dessous :

colors = ["red"] for i in colors[:]: if i == "red": colors += ["black"] if i == "black": colors += ["white"] print(colours )

Résultat:

['Rouge noir']

La liste a été modifiée colours, mais cette action n'a pas affecté la boucle. Les données qui devaient être itérées sont restées inchangées pendant l'exécution de la boucle.

Énumérer en python 3

Enumerate est une fonction Python intégrée. La plupart des débutants, ainsi que certains programmeurs expérimentés, ne sont pas conscients de son existence. Il vous permet de compter automatiquement les itérations de la boucle. Par exemple:

pour compteur, valeur dans enumerate(some_list): print(counter, value)

Fonction enumerate prend également un argument optionnel (la valeur de l'origine, prise par défaut pour 0). Ce qui le rend encore plus efficace.

my_list = ['apple', 'banana', 'cherry', 'peach'] for c, value in enumerate(my_list, 1): print(c, value) # Résultat : # 1 pomme # 2 banane # 3 cerise # 4 pêche

Soyez sympa! Laissez un commentaire