logo

Slå samman två listor i Python

Låt oss se hur man sammanfogar två listor med olika metoder i Pytonorm . Denna operation är användbar när vi har ett antal listor med element som behöver bearbetas på liknande sätt.

  Input:    test_list1 = [1, 4, 5, 6, 5]  test_list2 = [3, 5, 7, 2, 5]   Output:    [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]   Explanation:   The output list is the list we get from Merging both the input list.>

Python Gå med i två listor

Nedan är metoderna som vi kommer att täcka i den här artikeln:



till strängmetoden java

Slå samman två listor i Python använder naiv metod

I den här metoden går vi igenom den andra listan och fortsätter att lägga till element i den första listan, så att den första listan skulle ha alla element i båda listorna och därmed utföra bifoga.

Python3








# Initializing lists> test_list1>=> [>1>,>4>,>5>,>6>,>5>]> test_list2>=> [>3>,>5>,>7>,>2>,>5>]> # using naive method to concat> for> i>in> test_list2 :> >test_list1.append(i)> # Printing concatenated list> print> (>'Concatenated list using naive method : '> >+> str>(test_list1))>

>

>

Produktion

Concatenated list using naive method : [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]>

Tidskomplexitet: O(n + m), där n och m är längderna av den givna testlista1 respektive testlista2.
Hjälputrymme: O(m)

Sammanfoga två listor med operatorn +

Den mest konventionella metoden för att utföra listan sammanlänkning, användningen av + operatör kan enkelt lägga till hela en lista bakom den andra listan och därmed utföra sammanlänkning.

Python3




# Initializing lists> test_list3>=> [>1>,>4>,>5>,>6>,>5>]> test_list4>=> [>3>,>5>,>7>,>2>,>5>]> # using + operator to concat> test_list3>=> test_list3>+> test_list4> # Printing concatenated list> print> (>'Concatenated list using + : '> >+> str>(test_list3))>

>

>

Produktion

Concatenated list using + : [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]>

Tidskomplexitet: O(n), där n är det totala antalet element i båda listorna, eftersom operatorn + itererar genom alla element i båda listorna för att sammanfoga dem.
Extra utrymme: O(n), där n är det totala antalet element i båda listorna, eftersom en ny lista skapas för att lagra den sammanlänkade listan.

Slå samman två listor i Python med hjälp av listförståelse

Listförståelse kan också utföra denna uppgift med listsammansättning. I det här fallet skapas en ny lista, men denna metod är ett one-liner-alternativ till loopmetoden som diskuterats ovan.

Python3




# Python3 code to demonstrate list> # concatenation using list comprehension> # Initializing lists> test_list1>=> [>1>,>4>,>5>,>6>,>5>]> test_list2>=> [>3>,>5>,>7>,>2>,>5>]> # using list comprehension to concat> res_list>=> [y>for> x>in> [test_list1, test_list2]>for> y>in> x]> # Printing concatenated list> print> (>'Concatenated list using list comprehension: '> >+> str>(res_list))>

>

>

Produktion

Concatenated list using list comprehension: [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]>

Tidskomplexitet: O(n + m), där n och m är längden på givna test_list1 och test_list2
Hjälputrymme: O(k), där k är längden på res_list.

Slå samman två listor med extend()

De förlänga() är funktionen utökad med listor i Python och kan därför användas för att utföra denna uppgift. Den här funktionen utför förlängningen av den första listan på plats.

Python3




# Python3 code to demonstrate list> # concatenation using list.extend()> # Initializing lists> test_list3>=> [>1>,>4>,>5>,>6>,>5>]> test_list4>=> [>3>,>5>,>7>,>2>,>5>]> # using list.extend() to concat> test_list3.extend(test_list4)> # Printing concatenated list> print> (>'Concatenated list using list.extend() : '> >+> str>(test_list3))>

>

>

Produktion

Concatenated list using list.extend() : [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]>

Python Gå med i två listor med *-operatorn

Med operatorn * är den här metoden ett nytt tillägg till listsammansättning och fungerar endast i Python 3.6+. Något nej. listor kan sammanfogas och returneras i en ny lista med denna operator.

Python3




# Python3 code to demonstrate list> # concatenation using * operator> # Initializing lists> test_list1>=> [>1>,>4>,>5>,>6>,>5>]> test_list2>=> [>3>,>5>,>7>,>2>,>5>]> # using * operator to concat> res_list>=> [>*>test_list1,>*>test_list2]> # Printing concatenated list> print> (>'Concatenated list using * operator : '> >+> str>(res_list))>

>

>

Produktion

Concatenated list using * operator : [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]>

Python Gå med i två listor med itertools.chain()

De itertools.chain() returnerar iterabeln efter att ha kedjat dess argument i ett och kräver därför inte lagring av den sammanlänkade listan om endast dess initiala iteration krävs. Detta är användbart när den sammanlänkade listan bara måste användas en gång.

Python3




# Python3 code to demonstrate list> # concatenation using itertools.chain()> import> itertools> # Initializing lists> test_list1>=> [>1>,>4>,>5>,>6>,>5>]> test_list2>=> [>3>,>5>,>7>,>2>,>5>]> # using itertools.chain() to concat> res_list>=> list>(itertools.chain(test_list1, test_list2))> # Printing concatenated list> print> (>'Concatenated list using itertools.chain() : '> >+> str>(res_list))>

hrithik roshan ålder

>

>

Produktion

Concatenated list using itertools.chain() : [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]>

Sammanfoga två listor använder reduce()-funktionen

Först måste vi importera reduceringsfunktionen från funktionsverktyg bibliotek. Initiera sedan två variabler som innehåller två olika listor. Nu kommer vi att använda en annan lista där vi kommer att lagra alla listor som togs i föregående steg. Vi måste skapa en kapslad lista. Nu kommer vi att använda reduce()-funktionen och skicka den kapslade listan som en parameter tillsammans med två variabler (om vi väljer att ha två listor). Och använd funktionen Anonym lambda för att göra sammanlänkningen och lagra den i en lista.

Python3




from> functools>import> reduce> test_list1>=> [>1>,>4>,>5>,>6>,>5>]> test_list2>=> [>3>,>5>,>7>,>2>,>5>]> nested_list>=> [test_list1,test_list2]> print>(>reduce>(>lambda> i,j:i>+>j,nested_list,[]))>

>

>

Produktion

[1, 4, 5, 6, 5, 3, 5, 7, 2, 5]>

Tidskomplexitet: O(n+m), n är längden på den första listan och m är längden på den andra listan.
Hjälputrymme: O(n), n är antalet listor som tas i beaktande