Articles

Sådan sammenkædes to lister i Python

introduktion

liste sammenkædning handlingen med at oprette en enkelt liste fra flere mindre lister ved daisy at kæde dem sammen.

der er mange måder at sammenkæde lister i Python. Specifikt i denne artikel vil vi gennemgå, hvordan man sammenkæder to lister i Python ved hjælp af plus-operatøren, udpak operatør, multiplicer operatør, manual til loop-sammenkædning, itertools.chain() funktion og den indbyggede listemetode extend().

i alle kodestykker nedenfor bruger vi følgende lister:

list_a = list_b = 

Plus Operatørliste Sammenkædning

den enkleste og mest enkle måde at sammenkæde to lister i Python er plus (+) operatør:

list_c = list_a + list_bprint (list_c)

udpak operatørliste sammenkædning

denne metode giver dig mulighed for at deltage i flere lister. Det er en forholdsvis ny funktion og kun tilgængelig fra Python 3.6+. Udpakningsoperatøren pakker, som navnet antyder, et iterable objekt ind i dets elementer. Udpakning er nyttig, når vi ønsker at generere en overflod af 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 en nøddeskal bruger vi listekonstruktøren () og genererer elementerne i den nye liste i rækkefølge ved at udpakke flere lister efter hinanden:

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

Multiplicer Operatørliste Sammenkædning

multiplicer (*) operator er specielt tilfælde af sammenkædning af listen i Python. Det bruges til at gentage en hel liste flere gange (hvilket er grunden til, at den er betegnet med en multiplikationsoperatør):

print(list_a * 2)

til loop List-Sammenkædning

i denne metode gennemgår vi en liste, mens vi tilføjer hvert af dens elementer til en anden liste en efter en. Når sløjfen er forbi, har du en enkelt liste med alle de ønskede elementer:

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

itertools.kæde () liste Sammenkædning

denne metode fungerer med iterables. Den konstruerer og returnerer en iterator, der senere kan bruges til at konstruere den kædede liste (tænk på den som en pil, der bare husker rækkefølgen af elementer i den resulterende liste):

# 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 hætten er noget i denne retning, hvad der sker:

# 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 metode skal du importere itertools:

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

Udvid() liste Sammenkædning

dette er en indbygget funktion, der kan bruges til at udvide en liste. Her udvider vi den første liste ved at tilføje elementer fra den anden liste til den:

list_a.extend(list_b)print (list_a)

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *