gpt4 book ai didi

python - 压缩列表的递归方法?

转载 作者:太空宇宙 更新时间:2023-11-04 07:27:09 27 4
gpt4 key购买 nike

我有一个嵌套的列表,如下所示,

list1 = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]]

但是,我想找到一种方法将每个列表的第一个索引与另一个列表的第一个索引连接起来。

list1 = [[1,4,7,10],[2,5,8,11],[3,6,9,12]]

我尝试使用以下代码进行列表推导

list1 = [[list1[j][i] for j in range(len(list1)) ] for i in range(len(list1[0])) ]

# gives me
# list1 = [[1,4,7,10],[2,5,8,11],[3,6,9,12]]

但是,我希望有其他方法可以达到相同的结果,希望是更简单、更优雅的方法。

提前致谢。

最佳答案

zip是内置方法,不需要外部包:

>>> list1 = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]]
>>> print([list(x) for x in zip(*list1)])
[[1, 4, 7, 10], [2, 5, 8, 11], [3, 6, 9, 12]]

注意 *list1!这是必需的,因为 list1 是一个嵌套列表,因此 * 将该列表的元素解压缩到 zip 方法以压缩在一起。然后,由于 zip 返回一个元组列表,我们只需将它们转换为列表(根据您的要求)

关于python - 压缩列表的递归方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57028331/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com