lettura facile

La funzione chain in Python

La funzione chain() in Python ti permette di iterare su più sequenze iterabili come se fossero una singola sequenza, senza doverle unire esplicitamente.

itertools.chain(*iterables)

Dove *iterables può essere una serie di iterabili, come liste, tuple, set, ecc.

La funzione restituisce un iteratore che produce elementi da ciascun iterabile in sequenza.

La funzione chain non crea una nuova lista unendo tutti gli elementi, ma semplicemente itera su ciascuna sequenza in ordine. È particolarmente utile quando hai iterabili grandi e vuoi evitare l'overhead della creazione di nuove liste o tuple.

La funzione chain() si trova nel modulo itertools.

Quindi, prima di tutto, devi importare il modulo itertools o la funzione.

from itertools import chain

Puoi usare la funzione chain per concatenare più iterabili (come liste, tuple, set, ecc.) in un unico iterabile.

Ad esempio, crea tre liste.

lista1 = [1, 2, 3]
lista2 = [4, 5, 6]
lista3 = [7, 8, 9]

Ora usa la funzione chain() per iterare in tutti e tre gli iterabili.

  1. for numero in chain(lista1, lista2, lista3):
  2. print(numero)

Questo ciclo stampa i numeri da 1 a 9, come se fossero parte di una singola sequenza.

 

1
2
3
4
5
6
7
8
9

L'utilizzo di chain è consigliato quando hai bisogno di lavorare con più sequenze come se fossero una sola, soprattutto per mantenere il codice pulito e performante.

 

Ad esempio, se hai una lista di iterabili e vuoi concatenarli, puoi usare chain.from_iterable

  1. from itertools import chain
  2. lista_di_liste = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
  3. for numero in chain.from_iterable(lista_di_liste):
  4. print(numero)

Il risultato è la sequenza degli elementi compresi in tutte le liste.

1
2
3
4
5
6
7
8
9

Questo script è molto utile quando non conosci in anticipo il numero di iterabili che devi concatenare.

 




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin