【发布时间】:2021-03-13 04:17:01
【问题描述】:
用一个小示例输入和所需输出来描述问题:
a = ['a', 'b', 'c']
b = [1, 2, 3]
c = expr
print(c)
>> [['a', 1], ['b', 2], ['c', 3]]
所以我遇到了一个关于如何以 Python 方式很好地执行此操作的问题。
我想出的是一个列表理解,它使用 zip 很好地完成了这项工作,但是以下列方式使用 zip 确实感觉有点逃避:
[[x, y] for x, y in zip(a,b)]
还有其他方法吗?
此外,由于 zip 不是针对
编辑:正如 Dani Mesejo 指出的那样,Pythons zip 内置可以采用 m 长度为 n 的列表的一般情况的解决方案,因此人们希望以相同的方式组合。m iterables。
我最感兴趣的是漂亮的普通 python 解决方案。
我知道numpy 可以通过漂亮的 nparray 连接来做到这一点:)
谢谢!
【问题讨论】:
-
这是最好的方法,你可以将
m列表传递给zip,你甚至可以将列表列表作为参数传递给zip -
同意@DaniMesejo - 使用
zip函数是处理此问题的Pythonic 方式。它高效、易读且广为人知。 -
@DaniMesejo 啊!我认为 zip 产生“两个”,而不是通用元组。谢谢你,真的很有帮助。
标签: python list numpy list-comprehension numpy-ndarray