Hvordan Sammenkoble To Lister I Python
Introduksjon
List sammenkobling handlingen med å lage en enkelt liste fra flere mindre lister ved å kjedekoble dem sammen.
det er mange måter å sammenkoble lister i Python. Spesielt i denne artikkelen skal vi gå over hvordan du sammenkobler to lister i Python ved hjelp av plus-operatøren, pakk ut operatøren, multipliser operatøren, manuell for loop-sammenkobling,itertools.chain()
– funksjonen og den innebygde listemetoden extend()
.
i alle kodebitene nedenfor bruker vi følgende lister:
list_a = list_b =
Pluss Operatørliste Sammenkobling
den enkleste og enkleste måten å sammenkoble to lister i Python er pluss (+
) operatør:
list_c = list_a + list_bprint (list_c)
pakk sammen operatorliste
Denne Metoden Lar deg bli med i flere lister. Det er en ganske ny funksjon og kun tilgjengelig Fra Python 3.6+. Utpakking operatoren, som navnet antyder, pakker ut etiterable
objekt i elementene. Utpakking er nyttig når vi ønsker å generere en mengde argumenter fra en enkelt liste. For eksempel:
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
I et nøtteskall bruker vi listekonstruktøren () og genererer elementene i den nye listen i rekkefølge ved å pakke ut flere lister etter hverandre:
list_c = # This is the same as:# list_c = print (list_c)
Multipliser Operatorliste Sammenkobling
multipliser (*
) operatoren er et spesielt tilfelle av listekoncatenering i Python. Det brukes til å gjenta en hel liste flere ganger (det er derfor det er betegnet med en multiplikasjonsoperatør):
print(list_a * 2)
for loop List Sammenkobling
i denne metoden vil vi gå gjennom en liste mens vi legger hver av elementene til en annen liste en etter en. Når sløyfen er over vil du ha en enkelt liste med alle ønskede elementer:
for i in list_b: list_a.append(i)print (list_a)
itertools.kjede () Liste Sammenkobling
denne metoden fungerer med iterables
. Den konstruerer og returnerer en iterator som senere kan brukes til å konstruere den kjedede listen (tenk på det som en pil som bare husker rekkefølgen av elementer i den resulterende listen):
# 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)
under hetten er noe langs disse linjene hva som skjer:
# 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
for denne metoden må du importere itertools
:
import itertoolslist_c = list(itertools.chain(list_a, list_b))print (list_c)
utvid() Liste Sammenkobling
dette er enen innebygd funksjon som kan brukes til å utvide en liste. Her utvider vi den første listen ved å legge til elementer i den andre listen til den:
list_a.extend(list_b)print (list_a)