Articles

Come concatenare due liste in Python

Introduzione

Concatenazione delle liste l’atto di creare una singola lista da più liste più piccole collegandole insieme.

Ci sono molti modi per concatenare le liste in Python. In particolare, in questo articolo, vedremo come concatenare due elenchi in Python utilizzando l’operatore plus, l’operatore unpack, l’operatore multiply, il manuale per la concatenazione del ciclo, la funzioneitertools.chain()e il metodo di elenco integrato extend().

In tutti i frammenti di codice qui di seguito, faremo in modo di utilizzare le seguenti liste:

list_a = list_b = 

Plus Elenco Operatore di Concatenazione

Il più semplice e più semplice modo per concatenare due liste in Python è il plus (+) operatore:

list_c = list_a + list_bprint (list_c)

Decomprimere Elenco Operatore di Concatenazione

Questo metodo consente di partecipare a più liste. È una funzionalità abbastanza nuova e disponibile solo da Python 3.6+. L’operatore di disimballaggio, come suggerisce il nome, decomprime un oggettoiterable nei suoi elementi. Il disimballaggio è utile quando vogliamo generare una pletora di argomenti da una singola lista. Ad esempio:

def foo(a, b, c, d): return a + b + c + d# We want to use the arguments of the following list with the foo function.# However, foo doesn't take a list, it takes 4 numbers, which is why we need to# unpack the list.foo(*list_a)# This is the same as if we were to call foo(1,2,3,4)
10

In poche parole, usiamo il costruttore di elenchi () e generiamo gli elementi della nuova lista in ordine scompattando più elenchi uno dopo l’altro:

list_c = # This is the same as:# list_c = print (list_c)

Moltiplica la concatenazione della lista degli operatori

L’operatore multiply (*) è un caso speciale di concatenazione della lista in Python. È usato per ripetere un’intera lista più volte (motivo per cui è indicato con un operatore di moltiplicazione):

print(list_a * 2)

per la concatenazione di elenchi di loop

In questo metodo passeremo attraverso una lista aggiungendo ciascuno dei suoi elementi a un’altra lista uno per uno. Quando il ciclo è finito si avrà una singola lista con tutti gli elementi desiderati:

for i in list_b: list_a.append(i)print (list_a)

itertools.concatenazione lista chain ()

Questo metodo funziona coniterables. Costruisce e restituisce un iteratore che può essere successivamente utilizzato per costruire l’elenco concatenato (pensalo come una freccia che memorizza solo l’ordine degli elementi nell’elenco risultante):

# If we were to call itertools.chain() like soiterator = itertools.chain(, )# Basically the iterator is an arrow which can give us the next() element in a sequence, so if we call a list() constructor with said iterable, it works like this:list(iterator)

Sotto il cofano, qualcosa di simile è ciò che accade:

# Iterator: The next element in this list is 1 , ^# Iterator: The next element in this list is 2, ^# Iterator: The next element in this list is 3 , ^# Iterator: The next element in this list is 4 , ^# So the list() call looks something like:list()# Keep in mind this is all pseudocode, Python doesn't give the developer direct control over the iterator

Per questo metodo, è necessario importare itertools:

import itertoolslist_c = list(itertools.chain(list_a, list_b))print (list_c)

extend() Elenco Concatenazione

Questo è aa costruito-è la funzione che può essere utilizzato per espandere l’elenco. Qui stiamo espandendo la prima lista aggiungendo elementi della seconda lista ad essa:

list_a.extend(list_b)print (list_a)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *