Articles

Kuinka yhdistää kaksi listaa Pythonissa

Johdanto

listaa yhteislistan luominen useista pienemmistä listoista ketjuttamalla ne yhteen.

Pythonissa on monia tapoja yhdistää luetteloita. Erityisesti, tässä artikkelissa, käymme läpi miten yhdistää kaksi listaa Python käyttäen plus operaattori, Pura operaattori, moninkertaistaa operaattori, manuaalinen silmukka concatenation, itertools.chain() funktio ja sisäänrakennettu luettelo menetelmä extend().

kaikissa alla olevissa koodinpätkissä käytetään seuraavia luetteloita:

list_a = list_b = 

Plus Operator List Concatenation

yksinkertaisin ja suoraviivaisin tapa yhdistää kaksi listaa Pythonissa on plus (+) operaattori:

list_c = list_a + list_bprint (list_c)

unpack Operator list concatenation

tällä menetelmällä voi liittyä useisiin listoihin. Se on melko uusi ominaisuus ja saatavilla vain Python 3.6+. Purkaja purkaa nimensä mukaisesti iterable objektin elementteihinsä. Purkamisesta on hyötyä, kun haluamme luoda lukuisia argumentteja yhdestä listasta. Esimerkiksi:

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

pähkinänkuoressa käytetään luettelon konstruktoria () ja luodaan uuden listan elementit järjestyksessä purkamalla useita luetteloita yksi toisensa jälkeen:

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

Multiply Operator List Concatenation

the multiply (* Sitä käytetään kokonaisen luettelon toistamiseen useita kertoja (minkä vuoksi se merkitään kertolaskuoperaattorilla):

print(list_a * 2)

silmukkaluettelon Konsatenoinnissa

tässä menetelmässä käydään läpi yksi lista ja liitetään jokainen sen alkioista toiseen listaan yksitellen. Kun silmukka on ohi, sinulla on yksi lista, jossa on kaikki halutut elementit:

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

itertools.ketjut () – Listan Konsekutenointi

tämä menetelmä toimii iterables. Se rakentaa ja palauttaa iteraattorin, jolla voidaan myöhemmin rakentaa ketjutettu lista (ajattele sitä nuolena, joka vain muistaa alkioiden järjestyksen tuloksena olevassa luettelossa):

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

konepellin alla tapahtuu:

# 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

tätä menetelmää varten on tuotava itertools:

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

extend() List Concatenation

Tämä on AA built-it-funktio, jolla voidaan laajentaa luetteloa. Tässä laajennamme ensimmäistä listaa lisäämällä siihen toisen listan elementtejä:

list_a.extend(list_b)print (list_a)

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *