logo

Flet to lister i Python

Lad os se, hvordan man sammenkæder to lister ved hjælp af forskellige metoder i Python . Denne operation er nyttig, når vi har en række lister over elementer, der skal behandles på en lignende måde.

  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 Slut dig til to lister

Nedenfor er de metoder, vi vil dække i denne artikel:



hvor stor er denne skærm

Flet to lister i Python ved hjælp af naiv metode

I denne metode krydser vi den anden liste og fortsætter med at tilføje elementer i den første liste, så den første liste vil have alle elementerne i begge lister og dermed udføre Tilføj.

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]>

Tidskompleksitet: O(n + m), hvor n og m er længderne af henholdsvis den givne test_liste1 og test_liste2.
Hjælpeplads: O(m)

Sammenkæd to lister ved hjælp af + operatoren

Den mest konventionelle metode til at udføre listen sammenkædning, brugen af + operatør kan nemt tilføje hele den ene liste bag den anden liste og dermed udføre sammenkædning.

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]>

Tidskompleksitet: O(n), hvor n er det samlede antal elementer i begge lister, da + operatoren itererer gennem alle elementer i begge lister for at sammenkæde dem.
Hjælpeplads: O(n), hvor n er det samlede antal elementer i begge lister, da der oprettes en ny liste til at gemme den sammenkædede liste.

Flet to lister i Python ved hjælp af listeforståelse

Listeforståelse kan også udføre denne opgave med listesammenkædning. I dette tilfælde oprettes en ny liste, men denne metode er et one-liner alternativ til sløjfemetoden beskrevet ovenfor.

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]>

Tidskompleksitet: O(n + m), hvor n og m er længden af ​​givne test_liste1 og test_liste2
Hjælpeplads: O(k), hvor k er længden af ​​res_liste.

Flet to lister ved hjælp af extend()

Det forlænge() er funktionen udvidet med lister i Python og kan derfor bruges til at udføre denne opgave. Denne funktion udfører udvidelsen på stedet af den første liste.

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 Deltag i to lister ved hjælp af * operator

Ved at bruge *-operatoren er denne metode en ny tilføjelse til listesammenkædning og virker kun i Python 3.6+. Ethvert nej. af lister kan sammenkædes og returneres i en ny liste ved hjælp af denne 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 Deltag i to lister ved hjælp af itertools.chain()

Det itertools.chain() returnerer iterablen efter at have kædet dens argumenter i ét og kræver derfor ikke lagring af den sammenkædede liste, hvis kun dens indledende iteration er påkrævet. Dette er nyttigt, når den sammenkædede liste kun skal bruges én gang.

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

>

>

Produktion

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

Sammenkæd to lister ved hjælp af reduce() funktion

For det første skal vi importere reduceringsfunktionen fra funktionsværktøjer bibliotek. Initialiser derefter to variable, der indeholder to forskellige lister. Nu vil vi bruge en anden liste, hvor vi gemmer alle de lister, der blev taget i det foregående trin. Vi skal danne en indlejret liste. Nu vil vi bruge reduce()-funktionen og videregive den indlejrede liste som en parameter ved siden af ​​to variable (hvis vi vælger at have to lister). Og brug funktionen Anonym lambda for at udføre sammenkædningsoperationen og gemme den på en liste.

Python3


tynd algoritme



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]>

Tidskompleksitet: O(n+m), n er længden af ​​den første liste, og m er længden af ​​den anden liste.
Hjælpeplads: O(n), n er antallet af lister, der tages i betragtning