Să vedem cum să concatenăm două liste folosind metode diferite în Piton . Această operație este utilă atunci când avem un număr de liste de elemente care trebuie procesate într-o manieră similară.
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 alăturați două liste
Mai jos sunt metodele pe care le vom acoperi în acest articol:
comanda sed
- Folosind metoda naivă
- Folosind + operator
- Folosind înțelegerea listei
- Folosind extinde() metodă
- Folosind * operator
- Folosind iertools.chain()
- Îmbină două Listă folosind funcția reduce().
Îmbină două liste în Python folosind metoda naivă
În această metodă, parcurgem a doua listă și continuăm să adăugăm elemente în prima listă, astfel încât prima listă să aibă toate elementele din ambele liste și, prin urmare, să execute adăuga.
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))> |
>
>Ieșire
Concatenated list using naive method : [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]>
Complexitatea timpului: O(n + m), unde n și m sunt lungimile test_list1 și, respectiv, test_list2 date.
Spațiu auxiliar: O(m)
Concatenați două liste folosind operatorul +
Cea mai convențională metodă de a efectua concatenarea listei, utilizarea + operator poate adăuga cu ușurință întreaga listă în spatele celeilalte liste și, prin urmare, efectua concatenare.
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))> |
>
>Ieșire
Concatenated list using + : [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]>
Complexitatea timpului: O(n), unde n este numărul total de elemente din ambele liste, deoarece operatorul + iterează prin toate elementele ambelor liste pentru a le concatena.
Spatiu auxiliar: O(n), unde n este numărul total de elemente din ambele liste, deoarece este creată o nouă listă pentru a stoca lista concatenată.
Îmbinați două liste în Python folosind înțelegerea listelor
Liste de înțelegere poate îndeplini și această sarcină de concatenare a listelor. În acest caz, este creată o nouă listă, dar această metodă este o alternativă cu o singură linie la metoda buclei discutată mai sus.
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))> |
>
>Ieșire
Concatenated list using list comprehension: [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]>
Complexitatea timpului: O(n + m), unde n și m sunt lungimea listei_test1 și listei_test2 date
Spațiu auxiliar: O(k), unde k este lungimea listei_res.
Îmbină două liste folosind extend()
The extinde() este funcția extinsă prin liste în Python și, prin urmare, poate fi folosită pentru a efectua această sarcină. Această funcție realizează extensia pe loc a primei 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))> |
tipuri de referință java
>
>Ieșire
Concatenated list using list.extend() : [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]>
Python Uniți două liste folosind operatorul *
Folosind operatorul *, această metodă este o nouă adăugare la concatenarea listelor și funcționează numai în Python 3.6+. Orice nu. de liste pot fi concatenate și returnate într-o nouă listă folosind acest 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))> |
>
>Ieșire
Concatenated list using * operator : [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]>
Python alăturați două liste folosind itertools.chain()
The iertools.chain() returnează iterabilul după ce și-a înlănțuit argumentele într-unul și, prin urmare, nu necesită stocarea listei concatenate dacă este necesară doar iterația sa inițială. Acest lucru este util atunci când lista concatenată trebuie utilizată o singură dată.
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))> |
>
>Ieșire
Concatenated list using itertools.chain() : [1, 4, 5, 6, 5, 3, 5, 7, 2, 5]>
Concatenează două liste folosind funcția reduce().
În primul rând, trebuie să importam funcția de reducere din functools bibliotecă. Apoi inițializați două variabile care dețin două liste diferite. Acum vom folosi o altă listă în care vom stoca toate listele luate la pasul anterior. Trebuie să formăm o listă imbricată. Acum vom folosi funcția reduce() și vom trece acea listă imbricată ca parametru alături de două variabile (dacă alegem să avem două liste). Și folosiți funcția Anonim lambda pentru a face operația de concatenare și a o stoca într-o listă.
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,[]))> |
>
>Ieșire
[1, 4, 5, 6, 5, 3, 5, 7, 2, 5]>
Complexitatea timpului: O(n+m), n este lungimea primei liste și m este lungimea celei de-a doua liste.
Spațiu auxiliar: O(n), n este numărul de liste luate în considerare