Способы конкатенации списков в Python

В данной статье мы рассмотрим разные способы конкатенации списков в Python. Списки в Python служат для хранения элементов одного типа и выполнения операций над ними.

Конкатенация – это процесс объединения элементов одной структуры данных. Методы конкатенации списков в Python ниже.

1. Оператор конкатенации ‘+’

Оператор ‘+’ может использоваться для объединения двух списков. Он добавляет один список в конец иного списка и на их основе создает новый.

Пример:

list1 = [10, 11, 12, 13, 14]list2 = [20, 30, 42]res = list1 + list2print("Объединённый список:n" + str(res))

Отображение :

Объединённый список:[10, 11, 12, 13, 14, 20, 30, 42]

2. Наивный способ для объединения списков

При этом используется цикл for для обхода второго списка. В результате элементы из второго списка добавляются в первый. В нем и сохраняется объединенный список.

Пример:

list1 = [10, 11, 12, 13, 14]list2 = [20, 30, 42]print("List1 до конкатенации:n" + str(list1))for x in list2:list1.append(x)print("Объединённый список, т.е. list1 после конкатенации:n" + str(list1))

Отображение:

List1 до конкатенации:[10, 11, 12, 13, 14]Объединённый список, т.е. list1 после конкатенации:[10, 11, 12, 13, 14, 20, 30, 42]

3. List Comprehension

List Comprehension – это альтернативный способ объединения списков. Чаще всего он используется для генерации списка элементов на основе существующего. Данный способ использует цикл for для обработки и обхода списка поэлементно.

Пример:

list1 = [10, 11, 12, 13, 14]list2 = [20, 30, 42]res = [j for i in [list1, list2] for j in i]print("Объединённый список:n"+ str(res))

Отображение :

Объединённый список:[10, 11, 12, 13, 14, 20, 30, 42]

4. Способ extend()

Способ extend()можно легко использовать для объединения двух списков. Он выполняет итерацию и добавляет элементы в исходный список, расширяя его линейно.

Синтаксис:

list.extend(iterable)

Пример:

list1 = [10, 11, 12, 13, 14]list2 = [20, 30, 42]print("list1 до конкатенации:n" + str(list1))list1.extend(list2)print("Объединённый список, т.е. list1 после конкатенации:n"+ str(list1))

Все элементы списка list2 добавляются в список list1. В результате чего список list1 обновляется.

Отображение:

list1 до конкатенации:[10, 11, 12, 13, 14]Объединённый список, т.е. list1 после конкатенации:[10, 11, 12, 13, 14, 20, 30, 42]

5. Оператор ‘*’

Оператор ‘*’ в Python может быть использован для объединения двух списков. К примеру, рассмотрим список my_list = [1, 2, 3, 4].

Выражение *my_list заменит ссылку на список его элементами. Таким образом, оно распаковывает элементы списка.

Пример:

list1 = [10, 11, 12, 13, 14]list2 = [20, 30, 42]res = [*list1, *list2]print("Объединённый список:n" + str(res))

В приведенном выше фрагменте кода выражение res = [*list1, *list2] заменяет list1 и list2 их элементами в указанном порядке. Сначала элементами list1, а далее элементами list2.

Отображение:

Объединённый список:[10, 11, 12, 13, 14, 20, 30, 42]

6. Способ itertools.chain()

Способ itertools.chain() из модуля itertools принимает объединяемые элементы в виде настроек и выдает их последовательность. В результате линейная последовательность не влияет на функционирование способа chain().

К примеру: выражение itertools.chain([1, 2], [‘John’, ‘Bunny’]) выдаст результат1 2 John Bunny

Пример:

import itertoolslist1 = [10, 11, 12, 13, 14]list2 = [20, 30, 42]res = list(itertools.chain(list1, list2))print("Объединённый список:n" + str(res)) 

Отображение:

Объединённый список:[10, 11, 12, 13, 14, 20, 30, 42]

Заключение

В данной статье мы рассмотрели разные методы объединения списков в Python.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *