python 公式化嵌套列表,其包括来自另一个嵌套列表的相同位置中的元素[重复]

ibps3vxo  于 2023-06-28  发布在  Python
关注(0)|答案(1)|浏览(96)

此问题已在此处有答案

Transpose list of lists(14个回答)
昨天关门了。
如何将一个嵌套列表重新公式化为一个新的嵌套列表,其中:

  • 新嵌套列表的第一列表B包括嵌套列表A内的所有列表的第一元素。
  • 新嵌套列表的第二列表B包括嵌套列表A内的所有列表的第二元素。
  • 新嵌套列表B的第n个列表包括嵌套列表A内所有列表的第n个元素。

例如:

A = [[100,200,300], [400,500,600], [1000,1500,300]]

使得B变为:

B = [[100,400,1000], [200,500,1500], [300,600,300]]

当然,实际上A包含数百个列表,而不仅仅是三个。因此,我需要一种方法来自动处理大量列表。

hivapdat

hivapdat1#

如果你确信所有的内部列表都有相同的长度,那么

B = [[inner_list[i] for inner_list in A] for i in range(len(A))]

否则,你可以额外检查索引i是否超出当前内部列表的范围:

B = [
    [inner_list[i] if i < len(inner_list) else None for inner_list in A]
    for i in range(len(A))
]

相关问题