Articles

Cum să Concateneze două liste în Python

Introducere

lista concatenare actul de a crea o singură listă din mai multe liste mai mici de daisy înlănțuindu-le împreună.

există multe modalități de concatenare a listelor în Python. Mai exact, în acest articol, vom trece peste modul de concatenare a două liste în Python folosind operatorul plus, despachetați operatorul, multiplicați operatorul, manual pentru concatenarea buclei, itertools.chain() funcția și metoda listă încorporată extend().

în toate fragmentele de cod de mai jos, vom folosi următoarele liste:

list_a = list_b = 

plus lista de operatori concatenare

cel mai simplu și mai simplu mod de a concatena două liste în Python este operatorul plus (+):

list_c = list_a + list_bprint (list_c)

despachetați concatenarea listei de operatori

această metodă vă permite să vă alăturați mai multor liste. Este o caracteristică destul de nouă și disponibilă numai de la Python 3.6+. Operatorul de despachetare, după cum sugerează și numele, despachetează un obiect iterable în elementele sale. Despachetarea este utilă atunci când dorim să generăm o mulțime de argumente dintr-o singură listă. De exemplu:

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

pe scurt, folosim constructorul listei () și generăm elementele noii liste în ordine prin despachetarea mai multor liste una după alta:

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

multiplica Lista operatorului concatenare

multiplica (*) operatorul este caz special de listă concatenare în Python. Este folosit pentru a repeta o listă întreagă de mai multe ori (motiv pentru care este notat cu un operator de multiplicare):

print(list_a * 2)

pentru concatenarea listei de buclă

În această metodă vom parcurge o listă în timp ce adăugăm fiecare dintre elementele sale la o altă listă unul câte unul. Când bucla se termină, veți avea o singură listă cu toate elementele dorite:

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

itertools.lanț () lista concatenare

această metodă funcționează cuiterables. Construiește și returnează un iterator care poate fi folosit ulterior pentru a construi lista înlănțuită (gândiți-vă la ea ca la o săgeată care memorează doar ordinea elementelor din lista rezultată):

# 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)

sub capotă, ceva de-a lungul acestor linii este ceea ce se întâmplă:

# 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

pentru această metodă, va trebui să importați itertools:

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

extend() lista concatenare

aceasta este o funcție încorporată care poate fi utilizată pentru a extinde o listă. Aici extindem prima listă adăugând elemente ale celei de-a doua liste:

list_a.extend(list_b)print (list_a)

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *