Чтобы объединить список в Python, используйте понимание списка. Понимание списков — это способ создания списков на основе существующих. В нашем случае нам нужно объединить список на основе двух.
Список Python — это встроенный тип данных, представляющий собой упорядоченную и изменяемую коллекцию, которая позволяет дублировать элементы.
Объединение двух списков в один в Python
Чтобы объединить два списка в один в Python, используйте генератор списков. Пояснение списка состоит из квадратных скобок, содержащих выражение, за которым следует предложение for, а затем ноль или более предложений for или if. Выражения могут быть любыми, то есть вы можете помещать в списки любые объекты.
Синтаксис для понимания списка следующий.
|
1 |
[expression for item in list] |
Пример:
|
1 2 3 4 5 6 7 8 |
# app.py name_list = ['Harry', 'Hermione', 'Ginny'] age_list = [17, 17, 16] merged_list = [j for i in zip(name_list, age_list) for j in i] print('Merged list', merged_list) |
Вывод:
|
1 |
Merged list ['Harry', 17, 'Hermione', 17, 'Ginny', 16] |
Включение списков может использовать условные операторы для изменения существующего списка(или других кортежей).
Из вывода вы можете видеть, что мы объединили два списка в один список и распечатали этот список.

В соответствие с порядком ввода
Если порядок элементов соответствует порядку в вашем примере, вы можете использовать комбинацию методов zip() и chain().
Метод zip() возвращает объект итератора. Метод chain() создает итератор, который возвращает элементы из первой итерации до тех пор, пока она не будет исчерпана, а затем переходит к следующей итерации, пока не будут исчерпаны все итерации.
Первый шаг — импортировать модуль itertools и определить два списка.
|
1 2 3 4 5 6 |
# app.py from itertools import chain name_list = ['Harry', 'Hermione', 'Ginny'] age_list = [17, 17, 16] |
Затем используйте комбинацию операторов list(), chain(), zip() и *, чтобы объединить два списка.
|
1 2 3 4 5 6 7 8 9 10 |
# app.py from itertools import chain name_list = ['Harry', 'Hermione', 'Ginny'] age_list = [17, 17, 16] merged_list = list(chain(*zip(name_list, age_list))) print('Merged list', merged_list) |
Вывод:
|
1 |
Merged list ['Harry', 17, 'Hermione', 17, 'Ginny', 16] |
Использование цикла for
Объединение двух списков с использованием цикла for — это не питонический способ, но я показываю, как объединять списки в Python с помощью цикла for.
|
1 2 3 4 5 6 7 8 9 10 11 |
# app.py name_list = ['Harry', 'Hermione', 'Ginny'] age_list = [17, 17, 16] merged = [] for i in zip(name_list, age_list): for j in i: merged.append(j) print(merged) |
Вывод:
|
1 |
['Harry', 17, 'Hermione', 17, 'Ginny', 16] |
Вы можете видеть, что мы получили объединенный список.
