7.1 Boucle for
Utiliser des boucles pour itérer sur les éléments d'un set est une tâche courante en programmation, surtout quand tu as besoin de traiter chaque élément du set.
Pour itérer sur les éléments d'un set en Python, on utilise généralement la boucle
for
. Comme les sets n'ont pas d'ordre fixe
d'éléments, la boucle for est parfaite pour parcourir les éléments d'un set (vu qu'elle
utilise le mécanisme des itérateurs).
Exemple :
my_set = {1, 2, 3, 4, 5}
for element in my_set:
print(element)
C'est très simple – voyons quelques exemples pratiques :
Somme des éléments d'un set
Voyons un exemple où l'on somme tous les éléments d'un set.
my_set = {1, 2, 3, 4, 5}
total = 0
for element in my_set:
total += element
print("Somme des éléments du set :", total)
Sortie :
Somme des éléments du set : 15
Dans cet exemple, nous utilisons la boucle for
pour ajouter tour à tour
chaque élément du set my_set
à la variable total
, ce qui
donne la somme de tous les éléments du set.
Recherche de l'élément maximal
Voyons maintenant comment trouver l'élément maximal d'un set.
my_set = {1, 2, 3, 4, 5}
max_element = None
for element in my_set:
if max_element is None or element > max_element:
max_element = element
print("Élément maximal du set :", max_element)
Sortie :
Élément maximal du set : 5
Dans cet exemple, la boucle for
est utilisée pour parcourir tous
les éléments du set et déterminer la valeur maximale.
Filtrage des éléments
Créons un nouveau set contenant uniquement les nombres pairs du set d'origine.
my_set = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
even_set = set()
for element in my_set:
if element % 2 == 0:
even_set.add(element)
print("Set des nombres pairs :", even_set)
Set des nombres pairs: {2, 4, 6, 8, 10}
Dans cet exemple, la boucle for
est utilisée pour filtrer les éléments
qui satisfont la condition (pairité) et les ajouter dans le nouveau set
even_set
.
7.2 Utilisation de enumerate()
La fonction enumerate()
renvoie un itérateur qui génère
des tuples composés
de l'index et de l'élément correspondant de l'objet itérable.
Lors du travail avec des sets, l'utilisation de enumerate()
peut être utile pour
obtenir les indices des éléments pendant l'itération. Toutefois, comme les sets
sont des collections non ordonnées, l'ordre des éléments à chaque itération
n'est pas garanti.
La fonction enumerate()
fonctionne avec les sets tout comme avec
n'importe quel autre objet itérable.
Itération avec des indices
Utilisation de enumerate()
pour obtenir les indices des éléments
d'un set pendant l'itération.
my_set = {10, 20, 30, 40, 50}
for index, element in enumerate(my_set):
print(f"Index : {index}, Élément : {element}")
Sortie possible :
Index : 0, Élément : 40
Index : 1, Élément : 10
Index : 2, Élément : 50
Index : 3, Élément : 20
Index : 4, Élément : 30
Sauvegarder les indices et les éléments dans une liste
Voyons un exemple où l'on sauvegarde les indices et les éléments d'un set dans une liste pour un traitement ultérieur.
my_set = {"apple", "banana", "cherry"}
indexed_elements = [(index, element) for index, element in enumerate(my_set)]
print(indexed_elements)
Sortie possible :
[(0, 'banana'), (1, 'cherry'), (2, 'apple')]
Traitement des éléments en utilisant leurs indices
Voyons un exemple où nous effectuons une opération spécifique sur les éléments d'un set en utilisant leurs indices.
my_set = {1, 2, 3, 4, 5}
squared_elements = {}
for index, element in enumerate(my_set):
squared_elements[index] = element ** 2
print(squared_elements)
Sortie possible :
{0: 16, 1: 1, 2: 25, 3: 4, 4: 9}
7.3 Utilisation de la boucle while
En principe, lors du travail avec des sets, on peut aussi utiliser la boucle
while
. Par exemple, extraire une par une les tâches (éléments) du
set tant qu'il n'est pas vide :
my_set = {"nettoyer la maison", "faire la vaisselle", "acheter du pain"}
while len(my_set) > 0:
task = my_set.pop()
print(task)
Cette approche fonctionnera. En gros, tu as une multitude de façons de travailler avec un ensemble d'éléments — utilise celle que tu préfères.
GO TO FULL VERSION