Un elenco nidificato potrebbe essere un elenco di elenchi o contenere diversi tipi di dati. Se ne hai creato uno da diversi tipi di dati più piccoli, potresti voler appiattirlo per rendere gli elementi più leggibili e accessibili.
Scopri come trasformare una lista annidata in una semplice, con tre diversi approcci.
Come appiattire un elenco Python
Ci sono alcuni modi per raddrizzare un elenco annidato in Python, a seconda della sua complessità. Un elenco contenente solo elenchi, ad esempio, è più facile da convertire rispetto a uno con tipi di dati misti.
Vedrai come gestirli nelle sezioni seguenti.
Come appiattire un elenco annidato di elenchi con la funzione Sum()
Questo metodo si applica solo a un elenco di elenchi Python e implica la concatenazione degli elementi in tale elenco nidificato. Non si applica a un elenco di cicli, dizionari, set o tipi di dati misti perché non è possibile concatenare questi tipi.
Mentre puoi usare il per loop per appiattire un elenco di elenchi, il somma() funzione è semplice e più leggibile in quanto è a Pitone one-liner:
elenconidificato = [[1, 3, 4], [2, 4], [7, 9, 0]]
flatList = somma (nestedList, [])
Stampa(elenco piatto)
# Uscita: [1, 3, 4, 2, 4, 7, 9, 0]
Come utilizzare il ciclo for per appiattire un elenco annidato misto
Puoi usare un Python per ciclo sia per tipi di dati misti che omogenei. Quindi funziona se un elenco nidificato contiene solo elenchi, tuple, insiemi, dizionari o la loro miscela:
elenconidificato = [[1, 3, 4], (1, 5, 6), {1, 2, 4}, {"e": 3, "o":9, "t":7}]
flatList = []per i in nestedList:
per k in i:
flatList.aggiungere(K)Stampa(elenco piatto)
# Uscita: [1, 3, 4, 1, 5, 6, 1, 2, 4, 'e', 'o', 't']
Puoi anche ottenere questo con una comprensione dell'elenco:
flatList = [k per i in nestedList per k in i]
Stampa(elenco piatto)
# Uscita: [1, 3, 4, 1, 5, 6, 1, 2, 4, 'e', 'o', 't']
Manipola gli elenchi Python come preferisci
Un elenco Python semplifica il modo in cui presenti e accedi ai dati, poiché è facile da manipolare. Anche se hai visto come appiattire un elenco Python annidato, ci sono ancora molte modifiche che puoi applicare agli elenchi, a seconda del tuo obiettivo. Ad esempio, convertire un elenco Python in un dizionario è un'altra attività comune che Python semplifica.