提问人:bjuksel 提问时间:6/27/2023 更新时间:6/27/2023 访问量:38
制定一个嵌套列表,其中包含另一个嵌套列表中相同位置的元素 [duplicate]
Formulating a nested list comprising elements in the same position from another nested list [duplicate]
问:
如何获取嵌套列表并将其重新表述为新的嵌套列表,其中:
- 新嵌套列表的第一个列表 B 包含嵌套列表 A 中所有列表的第一个元素。
- 新嵌套列表的第二个列表 B 包含嵌套列表 A 中所有列表的第二个元素。
- 新嵌套列表的第 n 个列表 B 包含嵌套列表 A 中所有列表的第 n 个元素。
例如:
A = [[100,200,300], [400,500,600], [1000,1500,300]]
使 B 变为:
B = [[100,400,1000], [200,500,1500], [300,600,300]]
当然,在现实中,A 包含数百个列表,而不仅仅是三个。所以我需要一种方法来自动处理大量列表。
答:
1赞
Maria K
6/27/2023
#1
如果您确定所有内部列表的长度相同,则
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))
]
评论
B = list(zip(*(a for a in A)))
B = list(zip(*A))
B = [*zip(*A)]
[* ]