我有一个二维列表。例如:
std::function
我需要创建一个新列表,其元素是保留顺序的每个子元素的元素。
示例:
list = [[1,4,7], [2,5,8], [3,6,9]]
答案 0 :(得分:2)
问:新列表必须首先获取每个列表的第一个元素,然后是 第二,等等..
答强>
您可以使用zip
和列表理解。
list_1 = [1,4,7]
list_2 = [2,5,8]
list_3 = [3,6,9]
print([x for lst in zip(list_1, list_2, list_3) for x in lst])
# outputs > [1, 2, 3, 4, 5, 6, 7, 8, 9]
对于您的新列表,您也可以这样做,但首先使用*
new_list = [[1,4,7], [2,5,8], [3,6,9]]
print([x for lst in zip(*new_list) for x in lst])
# outputs > [1, 2, 3, 4, 5, 6, 7, 8, 9]
答案 1 :(得分:1)