Как объединить два списка в один список? - PullRequest
0 голосов
/ 09 ноября 2018

Допустим, у меня есть:

A = [[a,b,c,d],[1,2,3,4]]
B = [[1.2,1.7],[1.6,1.8]]

Я хочу объединить 2 списка в один список

C = [[a,b,c,d,1.2,1.7],[1,2,3,4,1.6,1.8]]

Как я могу это сделать в Python? Спасибо

Ответы [ 3 ]

0 голосов
/ 09 ноября 2018

Существует множество различных способов объединения двух списков.

Вы можете добавить два списка вместе:

[1,2,3] + [4,5,6]

Даст вам:

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

Вы можете добавить список в список списков:

[[1,2,3],[4,5,6]].append([7,8,9])

Даст вам:

[[1,2,3],[4,5,6],[7,8,9]]

Вы также можете сжать два списка:

zip([1,2,3],[4,5,6])

Даст вам:

[(1,4),(2,5),(3,6)]

Похоже, что вы ищете:

C = []

for sublist_1, sublist_2 in zip(A, B):
    C.append(sublist_1 + sublist_2)

Или более компактно, используя списочное понимание:

C = [sublist_1 + sublist_2 for sublist_2, sublist_2 in zip(A,B)]
0 голосов
/ 09 ноября 2018

Вы можете использовать zip и itertools.starmap для этого

In [110]: A
Out[110]: [[2, 4, 5, 6], [1, 2, 3, 4]]

In [111]: B
Out[111]: [[1.2, 1.7], [1.6, 1.8]]

In [112]: import itertools

In [113]: list(itertools.starmap(lambda x,y:x+y,zip(A,B)))
Out[113]: [[2, 4, 5, 6, 1.2, 1.7], [1, 2, 3, 4, 1.6, 1.8]]
0 голосов
/ 09 ноября 2018

Используйте метод extend(), чтобы соединить элементы одного списка с другим, а затем добавить этот результирующий список в окончательный список.

for i in range(len(a)):
    a[i].extend(b[i])
    c.append(a[i])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...