从两个列表中列出列表的最快和最优雅的方法是什么?
我有
In [1]: a=[1,2,3,4,5,6]
In [2]: b=[7,8,9,10,11,12]
In [3]: zip(a,b)
Out[3]: [(1, 7), (2, 8), (3, 9), (4, 10), (5, 11), (6, 12)]
我想拥有
In [3]: some_method(a,b)
Out[3]: [[1, 7], [2, 8], [3, 9], [4, 10], [5, 11], [6, 12]]
我正在考虑使用 map 而不是 zip,但我不知道是否有一些标准库方法可以作为第一个参数。
我可以为此定义自己的函数,并使用 map ,我的问题是是否已经实现了某些东西。 否也是一个答案。
最佳答案
如果您要压缩 2 个以上的列表(或者甚至只有 2 个),那么一种可读的方式是:
[list(a) for a in zip([1,2,3], [4,5,6], [7,8,9])]
这使用了对 apply list
to each element (tuple) in the list 的列表理解。 ,将它们转换为列表。
关于python - 使用列表输出而不是元组进行压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8372399/