Articles

Két lista összefűzése Python-ban

Bevezetés

lista összefűzése a több kisebb listából egyetlen lista létrehozásának cselekedete százszorszép láncolással.

A listák összefűzésének számos módja van a Python-ban. Pontosabban, ebben a cikkben áttekintjük, hogyan lehet két listát összefűzni Python-ban a plusz operátor, kicsomagolás operátor, szorzás operátor, kézi hurok összefűzéshez, a itertools.chain() függvény és a beépített lista metódusa extend().

a kódrészletek alatt, akkor használja a következő listák:

list_a = list_b = 

Plusz Üzemeltető Lista Összefűzés

A legegyszerűbb, valamint a legegyszerűbb módja annak, hogy összefűzni két lista a Python a plusz (+) üzemeltető:

list_c = list_a + list_bprint (list_c)

Kicsomagolni Üzemeltető Lista Összefűzés

Ez a módszer lehetővé teszi, hogy csatlakozzon több listán is. Ez egy meglehetősen új funkció, csak a Python 3.6+ – tól érhető el. A kicsomagoló operátor, ahogy a neve is sugallja, kicsomagolja aiterable objektumot az elemeibe. Kicsomagolás hasznos, ha azt akarjuk, hogy létrehoz egy rengeteg érvek egyetlen listából. Például:

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

dióhéjban a list konstruktort használjuk (), és az új lista elemeit úgy állítjuk elő, hogy több listát kicsomagolunk egymás után:

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

szorzás Operátorlista összefűzése

a szorzás (*) az operátor a lista összefűzésének különleges esete a Python-ban. Arra használják, hogy ismételje meg a teljes listát többször (ezért jelöli a szorzás operátor):

print(list_a * 2)

a hurok Lista Összefűzés

ez A módszer megyünk keresztül egy lista, amíg úgy, hogy minden egyes elemét egy másik lista, egyenként. Ha a hurok vége lesz egy listát az összes kívánt elemeket:

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

itertools.lánc () lista összefűzése

Ez a módszer működik iterables. Felépít és visszaad egy iterátort, amely később felhasználható a láncolt lista felépítésére (gondoljon rá nyílként, amely csak megjegyzi az elemek sorrendjét a kapott listában):

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

a motorháztető alatt valami ezen a vonalon történik:

# 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

ehhez a módszerhez importálnia kell itertools:

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

extend() lista összefűzése

Ez aa beépített funkció, amely egy lista kibontására használható. Itt bővítjük az első listát a második lista elemeinek hozzáadásával:

list_a.extend(list_b)print (list_a)

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük