logo

Об’єднайте два списки в Python

Давайте подивимося, як об’єднати два списки різними методами Python . Ця операція корисна, коли у нас є кілька списків елементів, які потрібно обробити подібним чином.

  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 Join Two Lists

Нижче наведено методи, які ми розглянемо в цій статті.



бульбашкове сортування python

Об’єднайте два списки в Python за допомогою наївного методу

У цьому методі ми проходимо другий список і продовжуємо додавати елементи в перший список, щоб перший список містив усі елементи в обох списках і, отже, виконував додавати.

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

>

>

Вихід

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

Часова складність: O(n + m), де n і m — довжини даних test_list1 і test_list2 відповідно.
Допоміжний простір: О(м)

Об’єднайте два списки за допомогою оператора +

Найбільш звичайний метод для виконання конкатенації списку, використання + оператор можна легко додати весь один список за іншим списком і, отже, виконати конкатенація.

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

>

>

Вихід

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

Часова складність: O(n), де n – загальна кількість елементів в обох списках, оскільки оператор + повторює всі елементи обох списків, щоб об’єднати їх.
Допоміжні приміщення: O(n), де n — загальна кількість елементів в обох списках, оскільки новий список створюється для зберігання об’єднаного списку.

Об’єднайте два списки в Python за допомогою розуміння списків

Розуміння списку також може виконати це завдання конкатенації списків. У цьому випадку створюється новий список, але цей метод є однорядковою альтернативою методу циклу, описаному вище.

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

>

>

Вихід

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

Часова складність: O(n + m), де n і m є довжиною даних test_list1 і test_list2
Допоміжний простір: O(k), де k — довжина res_list.

Об’єднайте два списки за допомогою extend()

The extend() це функція, розширена списками в Python і, отже, може використовуватися для виконання цього завдання. Ця функція виконує розширення на місці першого списку.

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

>

перевести рядок як int
>

Вихід

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

Python об’єднати два списки за допомогою оператора *

Цей метод із використанням оператора * є новим доповненням до конкатенації списків і працює лише в Python 3.6+. Будь-які ні. списків можна об’єднати та повернути в новий список за допомогою цього оператора.

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

>

>

Вихід

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

Python об’єднує два списки за допомогою itertools.chain()

The itertools.chain() повертає iterable після об’єднання його аргументів в один і, отже, не вимагає зберігання з’єднаного списку, якщо потрібна лише його початкова ітерація. Це корисно, коли конкатенований список потрібно використати лише один раз.

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

>

>

Вихід

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

Об’єднайте два списки за допомогою функції reduce().

По-перше, нам потрібно імпортувати функцію зменшення з functools бібліотека. Потім ініціалізуйте дві змінні, які містять два різні списки. Тепер ми використаємо інший список, у якому ми збережемо всі списки, зроблені на попередньому кроці. Нам потрібно сформувати вкладений список. Тепер ми використаємо функцію reduce() і передамо цей вкладений список як параметр поряд із двома змінними (якщо ми вирішимо мати два списки). І використовуйте функцію Anonymous лямбда щоб виконати операцію конкатенації та зберегти її в списку.

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,[]))>

>

>

Вихід

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

Часова складність: O(n+m), n — довжина першого списку, а m — довжина другого списку.
Допоміжний простір: O(n), n – кількість списків, які беруться до уваги