CodeGym /Cours Java /Python SELF FR /Boucle sur les éléments d'un set

Boucle sur les éléments d'un set

Python SELF FR
Niveau 9 , Leçon 7
Disponible

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.

Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION