Создание уникального списка с каждым последующим элементом из серии списков - PullRequest
0 голосов
/ 10 октября 2018

Как мне создать новый список, объединяющий первые значения моих старых списков, а затем вторые и т. Д.

list_1 = [1,2,3,4]
list_2 = [1,2,3,4]
list_3 = [1,2,3,4]
new_list = [[1,1,1],[2,2,2],[3,3,3],[4,4,4]]

Ответы [ 3 ]

0 голосов
/ 10 октября 2018

Вот еще один способ сделать это, используя списочные выражения.

new_list = [list(args) for args in zip(list_1, list_2, list_3)]
0 голосов
/ 10 октября 2018

Если мы enumerate один перечисляем индекс из этого списка всем 3

new_list = [[list_1[i], list_2[i], list_3[i]] for i, _ in enumerate(list_1)]
# [[1, 1, 1], [2, 2, 2], [3, 3, 3], [4, 4, 4]]
0 голосов
/ 10 октября 2018

Чистый питон:

Вы можете использовать zip:

new_list = list(map(list, zip(list_1,list_2,list_3)))

>>> new_list
[[1, 1, 1], [2, 2, 2], [3, 3, 3], [4, 4, 4]]

Альтернатива:

numpy:

import numpy as np
new_list = np.array([list_1,list_2,list_3]).T.tolist()

>>> new_list
[[1, 1, 1], [2, 2, 2], [3, 3, 3], [4, 4, 4]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...