使用一系列列表中的每个后续项创建一个唯一列表

时间:2018-10-10 00:27:56

标签: python list for-loop

如何创建一个新列表,将旧列表的第一个值组合到第二个列表中,依此类推。

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 :(得分:1)

纯python:

您可以使用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]]

答案 1 :(得分:0)

这是使用列表推导的另一种方法。

new_list = [list(args) for args in zip(list_1, list_2, list_3)]

答案 2 :(得分:0)

如果我们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]]