【发布时间】:2020-07-19 15:09:36
【问题描述】:
我有一个数组列表,其中每个数组都是一个列表列表。我想把它变成一个包含所有列的数组。我尝试使用 for 循环来完成这项工作,但感觉它在列表理解中应该是可行的。有没有一个很好的单线可以做到这一点?
Example Input: [[[1,2],[3,4],[5,6]],[[7,8],[9,10],[11,12]]]
Desired Output: [[1,2,7,8],[3,4,9,10],[5,6,11,12]]
注意:示例在主列表中只有两个数组,但我的实际数据有更多,所以我正在寻找适用于 N 个子数组的东西。
编辑: 尝试解决此问题的示例
适用于两个但不能一概而论:
[input[0][i]+input[1][i] for i in range(len(input[0]))]
这些不起作用,但显示了这个想法:
[[element for table in input for element in row] for row in table]
[[*imput[j][i] for j in range(len(input))] for i in range(len(input[0]))]
编辑:仅使用列表理解和 zip 的选定答案,但所有答案(截至目前)都有效,因此请使用最适合您的风格/用例的答案。
【问题讨论】:
-
你想要列表还是numpy数组作为输出?
标签: python arrays list concatenation