CodeGym /Corsi /Python SELF IT /Ciclo sugli elementi di un set

Ciclo sugli elementi di un set

Python SELF IT
Livello 9 , Lezione 7
Disponibile

7.1 Ciclo for

Usare i cicli per iterare sugli elementi di un set è un compito frequente nella programmazione, specialmente quando è necessario elaborare ogni elemento del set.

Per iterare sugli elementi di un set in Python si usa di solito il ciclo for. Poiché i set non hanno un ordine fisso degli elementi, il ciclo for è ideale per attraversare gli elementi del set (dato che utilizza il meccanismo degli iteratori).

Esempio:


my_set = {1, 2, 3, 4, 5}

for element in my_set:
    print(element)
        

Sembra molto semplice – aggiungiamo qualche esempio pratico:

Somma degli elementi di un set

Esaminiamo un esempio in cui sommiamo tutti gli elementi di un set.


my_set = {1, 2, 3, 4, 5}
total = 0
            
for element in my_set:
    total += element
            
print("Somma degli elementi del set:", total)
            
        

Output:


Somma degli elementi del set: 15
        

In questo esempio utilizziamo il ciclo for per aggiungere uno ad uno ogni elemento del set my_set alla variabile total, ottenendo così la somma di tutti gli elementi del set.

Ricerca del massimo elemento

Ora cerchiamo il massimo elemento in 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("Elemento massimo del set:", max_element)
        

Output:


Elemento massimo del set: 5
        

In questo esempio il ciclo for è usato per attraversare tutti gli elementi del set e determinare il valore massimo.

Filtraggio degli elementi

Creiamo un nuovo set contenente solo i numeri pari del set originale.


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 di numeri pari:", even_set)
            
        

Set di numeri pari: {2, 4, 6, 8, 10}

In questo esempio il ciclo for è usato per filtrare gli elementi che soddisfano la condizione (pari) e aggiungerli a un nuovo set even_set.

7.2 Uso di enumerate()

La funzione enumerate() restituisce un iteratore che genera tuple composte da l'indice e il corrispondente elemento dall'oggetto iterabile.

Quando si lavora con i set, l'uso di enumerate() può essere utile per ottenere gli indici degli elementi durante l'iterazione. Tuttavia, poiché i set sono collezioni non ordinate, l'ordine degli elementi in ogni iterazione non è garantito.

La funzione enumerate() funziona con i set proprio come con qualsiasi altro oggetto iterabile.

Iterazione con indici

Uso di enumerate() per ottenere gli indici degli elementi del set durante l'iterazione.


my_set = {10, 20, 30, 40, 50}

for index, element in enumerate(my_set):
    print(f"Indice: {index}, Elemento: {element}")
        

Possibile output:


Indice: 0, Elemento: 40
Indice: 1, Elemento: 10
Indice: 2, Elemento: 50
Indice: 3, Elemento: 20
Indice: 4, Elemento: 30
        

Salvataggio di indici ed elementi in una lista

Esaminiamo un esempio in cui salviamo indici ed elementi di un set in una lista per l'elaborazione successiva.


my_set = {"apple", "banana", "cherry"}

indexed_elements = [(index, element) for index, element in enumerate(my_set)]
print(indexed_elements)
        

Possibile output:


[(0, 'banana'), (1, 'cherry'), (2, 'apple')]
        

Elaborazione degli elementi usando i loro indici

Esaminiamo un esempio in cui eseguiamo una certa operazione sugli elementi di un set usando i loro indici.


my_set = {1, 2, 3, 4, 5}
squared_elements = {}
            
for index, element in enumerate(my_set):
    squared_elements[index] = element ** 2
            
print(squared_elements)
            
        

Possibile output:


{0: 16, 1: 1, 2: 25, 3: 4, 4: 9}
        

7.3 Uso del ciclo while

In teoria, quando si lavora con i set, si può usare anche il ciclo while. Per esempio, si possono estrarre compiti (elementi) dal set, uno alla volta, finché non è vuoto:


my_set = {"pulire la casa", "lavare i piatti", "comprare il pane"}
while len(my_set) > 0:
    task = my_set.pop()
    print(task)
        

Questo approccio funzionerà. In generale, hai molti modi per lavorare con un insieme di elementi — utilizza quello che preferisci.

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