Come unire due elenchi in Python (concatenare ed estendere)
Scopri i modi migliori per unire e combinare due elenchi in Python. Confronta l'operatore più, il metodo di estensione, l'elenco di decompressione e le opzioni della catena.
Panoramica
La combinazione di set di dati di elenchi è un'operazione frequente quando si aggregano risultati, si elaborano batch di dati o si aggiungono elementi a una raccolta. Python offre diversi modi per unire gli elenchi, a seconda che tu voglia modificare un elenco sul posto o creare un nuovo elenco.
Per creare un nuovo elenco combinando due esistenti, l'approccio più semplice è utilizzare l'operatore di concatenazione `+` (ad esempio, `list3 = list1 + list2`). In alternativa, inPython 3.5+, puoi utilizzare la sintassi di decompressione delle liste `[*list1, *list2]`, che è altamente espressiva e ti consente di inserire facilmente elementi aggiuntivi ovunque nella creazione della lista.
Se vuoi modificare un elenco esistente sul posto aggiungendo elementi da un altro elenco, il metodo `.extend()` è la scelta più efficiente. Ciò evita l'allocazione di memoria per un nuovo elenco e modifica direttamente l'elenco di destinazione. Per un attraversamento efficiente della memoria degli elenchi uniti senza duplicare i dati in memoria, puoi utilizzare `itertools.chain()`.
Codice e output di esecuzione
Questo script dimostra l'unione di due elenchi utilizzando operatori, tecniche di estensione e decompressione.
list_a = [1, 2, 3]
list_b = [4, 5, 6]
# 1. Plus operator (creates a new list)
merged_plus = list_a + list_b
print("Using + operator:", merged_plus)
# 2. Unpacking operator (creates a new list)
merged_unpack = [*list_a, *list_b]
print("Using unpacking:", merged_unpack)
# 3. Extend method (modifies list_a in-place)
list_a.extend(list_b)
print("After extending list_a:", list_a)Using + operator: [1, 2, 3, 4, 5, 6]
Using unpacking: [1, 2, 3, 4, 5, 6]
After extending list_a: [1, 2, 3, 4, 5, 6]Implementazione passo dopo passo
- Utilizza l'operatore + per unire gli elenchi e restituire un nuovo elenco combinato.
- Chiama list_a.extend(list_b) per aggiungere tutti gli elementi di list_b direttamente in list_a.
- Utilizzare l'operatore di decompressione dell'asterisco [*list_a, *list_b] per costruire un elenco dagli elementi di entrambi.
Domande frequenti
Qual è la differenza tra append() ed extend()?
append() aggiunge l'intero argomento della lista come un singolo elemento nidificato, mentre extend() decomprime l'argomento della lista e aggiunge ciascun elemento individualmente.
Come posso unire gli elenchi rimuovendo i duplicati?
Puoi unirli e quindi trasmettere il risultato a un set o convertirli prima in set: list(set(list_a) | set(list_b)).
Argomenti correlati
Scopri come ordinare un elenco in Python utilizzando il metodo sort() e la funzione sorted(). Scopri l'ordinamento delle chiavi personalizzato e gli esempi di ordine inverso.
Come verificare se un elenco è vuoto in PythonScopri i modi più Pythonici per verificare se una lista è vuota in Python. Confronta i controlli booleani impliciti con i confronti di lunghezza.
Risorse Python consigliate
Espandi le tue conoscenze con tutorial interattivi, foglietti illustrativi e confronti di codici correlati.
Elenchi Python
Scopri tutto sugli elenchi Python. Scopri come creare, suddividere, modificare ed eseguire l'iterazione degli array in Python in modo nativo.
Foglio informativo sui metodi delle stringhe Python
Una guida di riferimento completa per la manipolazione delle stringhe Python. Padroneggia la formattazione, la ricerca, la divisione, la sostituzione e il controllo delle proprietà delle stringhe.
Python vs JavaScript: quale linguaggio di programmazione è il migliore?
Un confronto completo tra Python e JavaScript. Esplora le differenze di sintassi, le prestazioni, i casi d'uso (backend e frontend) ed esempi di codifica.