logo

Techniques de boucle en Python

Python prend en charge diverses techniques de bouclage par certaines fonctions intégrées dans divers conteneurs séquentiels. Ces méthodes sont principalement très utiles en programmation compétitive mais aussi dans divers projets qui nécessitent une technique spécifique avec des boucles maintenant la structure globale du code.  Beaucoup de temps et d'espace mémoire ont été économisés car il n'est pas nécessaire de déclarer les variables supplémentaires que nous déclarons dans l'approche traditionnelle des boucles.

Où sont-ils utilisés ?

Différentes techniques de bouclage sont principalement utiles dans les endroits où nous n'avons pas besoin de manipuler réellement la structure et l'ordre des conteneurs globaux, mais plutôt d'imprimer uniquement les éléments pour une instance à usage unique, aucun changement sur place ne se produit dans le conteneur. Cela peut également être utilisé dans des instances pour gagner du temps.

Différentes techniques de bouclage utilisant les structures de données Python sont :  

Voie 1 : Utiliser enumerate() :   enumerate() est utilisé pour parcourir les conteneurs en imprimant le numéro d'index ainsi que la valeur présente dans cet index particulier.



Python3
# python code to demonstrate working of enumerate() for key value in enumerate(['The' 'Big' 'Bang' 'Theory']): print(key value) 

Sortir:

zéros numpy
0 The  
1 Big
2 Bang
3 Theory
Python3
# python code to demonstrate working of enumerate() for key value in enumerate(['Geeks' 'for' 'Geeks' 'is' 'the' 'Best' 'Coding' 'Platform']): print(value end=' ') 

Sortir:

Geeks for Geeks is the Best Coding Platform 

Voie 2 : Utiliser zip() :  zip() est utilisé pour combiner 2 conteneurs ou plus imprimant les valeurs séquentiellement. La boucle n'existe que jusqu'à la fin du plus petit conteneur. Une explication détaillée de zip() et enumerate() peut être trouvée ici .

Exemple 1 : deux types de données différents (listtuple)

Python
# python code to demonstrate working of zip() names = ['Deep' 'Sachin' 'Simran'] # list ages = (24 27 25) # tuple for name age in zip(names ages): print('Name: ' name) print('Age: ' age) print() 

Sortir
('Name: ' 'Deep') ('Age: ' 24) () ('Name: ' 'Sachin') ('Age: ' 27) () ('Name: ' 'Simran') ('Age: ' 25) () 

Exemple 2 : Liste-liste de deux types de données similaires

Python3
# python code to demonstrate working of zip() # initializing list questions = ['name' 'colour' 'shape'] answers = ['apple' 'red' 'a circle'] # using zip() to combine two containers # and print values for question answer in zip(questions answers): print('What is your {0}? I am {1}.'.format(question answer)) 

Sortir:

What is your name? I am apple.  
What is your color? I am red.
What is your shape? I am a circle.

Voie 3 : Utiliser iteritem() :  iteritems() est utilisé pour parcourir le dictionnaire en imprimant séquentiellement la paire clé-valeur du dictionnaire qui est utilisée avant la version Python 3.

Voie 4 : Utiliser des éléments() : items() effectue la même tâche sur le dictionnaire que iteritems() mais présente certains inconvénients par rapport à iteritems().

contient du python
  • C'est très chronophage . L'appeler sur de gros dictionnaires prend beaucoup de temps.
  • Il faut un beaucoup de mémoire . Prend parfois le double de la mémoire lorsqu'il est appelé sur un dictionnaire.

Exemple 1 :

Python3
# python code to demonstrate working of items() d = {'geeks': 'for' 'only': 'geeks'} # iteritems() is renamed to items() in python3 # using items to print the dictionary key-value pair print('The key value pair using items is : ') for i j in d.items(): print(i j) 

Sortir:

The key value pair using iteritems is :   
geeks for
only geeks

Exemple 2 :

Python3
# python code to demonstrate working of items() king = {'Ashoka': 'The Great' 'Chandragupta': 'The Maurya' 'Modi': 'The Changer'} # using items to print the dictionary key-value pair for key value in king.items(): print(key value) 

Sortir
Ashoka The Great Chandragupta The Maurya Modi The Changer 

Voie 5 : Utiliser sorted() :   sorted() est utilisé pour imprimer le le conteneur est trié par ordre . Il ne trie pas le conteneur mais imprime simplement le conteneur dans l'ordre trié pour 1 instance. L'utilisation de set() peut être combiné pour supprimer les doublons événements.

mysql a quitté la jointure

Exemple 1 :

Python3
# python code to demonstrate working of sorted() # initializing list lis = [1 3 5 6 2 1 3] # using sorted() to print the list in sorted order print('The list in sorted order is : ') for i in sorted(lis): print(i end=' ') print('r') # using sorted() and set() to print the list in sorted order # use of set() removes duplicates. print('The list in sorted order (without duplicates) is : ') for i in sorted(set(lis)): print(i end=' ') 

Sortir:

    The li   st in sorted order is :   
1 1 2 3 3 5 6
The list in sorted order (without duplicates) is :
1 2 3 5 6

Exemple 2 :

Python3
# python code to demonstrate working of sorted() # initializing list basket = ['guave' 'orange' 'apple' 'pear' 'guava' 'banana' 'grape'] # using sorted() and set() to print the list # in sorted order for fruit in sorted(set(basket)): print(fruit) 

Sortir:

apple  
banana
grape
guava
guave
orange
pear

Voie 6 : Utilisation de reversed() :  reversed() est utilisé pour imprimer les valeurs de le conteneur dans l'ordre inversé . Cela ne reflète aucune modification par rapport à la liste d'origine

Exemple 1 :

Python3
# python code to demonstrate working of reversed() # initializing list lis = [1 3 5 6 2 1 3] # using reversed() to print the list in reversed order print('The list in reversed order is : ') for i in reversed(lis): print(i end=' ') 

Sortir:

The list in reversed order is :   
3 1 2 6 5 3 1

Exemple 2 :

Python3
# python code to demonstrate working of reversed() # using reversed() to print in reverse order for i in reversed(range(1 10 3)): print(i) 

Sortir:

7  
4
1
  • Ces techniques sont rapides à utiliser et réduisent l’effort de codage. Les boucles while nécessitent que la structure entière du conteneur soit modifiée.
  • Ces techniques de bouclage ne nécessitent aucune modification structurelle du conteneur. Ils contiennent des mots clés qui présentent le but exact de leur utilisation. Alors qu'aucune pré-prédiction ou supposition ne peut être faite dans la boucle while, c'est-à-dire qu'il n'est pas facile de comprendre le but en un coup d'œil.
  • La technique de bouclage rend le code plus concis que l'utilisation de la boucle for & while.

Techniques de bouclage while boucle à l'aide des instructions if :

Dans cet exemple, nous utilisons une boucle while pour incrémenter une variable appelée count. À l'intérieur de la boucle, nous utilisons une instruction if pour vérifier si le nombre est égal à 3. Si c'est le cas, nous imprimons un message.

Approche:

Initialiser une variable de comptage à 0
Utilisez une boucle while pour exécuter à plusieurs reprises un bloc de code tant que le nombre est inférieur à 5
À l'intérieur de la boucle, utilisez une instruction if pour vérifier si le nombre est égal à 3
Si le compte est 3, imprimer un message
Incrémentez le décompte de 1 à la fin de chaque itération

pour un tableau de chaînes Java
Python3
# Example variable count = 0 # Loop while count is less than 5 while count < 5: if count == 3: print('Count is 3') count += 1 

Sortir
Count is 3


Complexité temporelle : O(n) où n est le nombre d'itérations requis pour que le compte atteigne 5.

Espace auxiliaire : O(1) puisqu'une seule variable (compte) est utilisée dans tout le code.

Créer un quiz