有没有办法在列表/字典/集合理解中每次迭代输出两个(或更多)项目?举个简单的例子,输出 1 到 3 的所有整数的正负双精度(也就是{x | x = ±2n, n ∈ {1...3}}
),有没有类似下面这样的语法?
>>> [2*i, -2*i for i in range(1, 4)]
[2, -2, 4, -4, 6, -6]
我知道我可以输出元组(+i,-i)
并将其展平,但我想知道是否有任何方法可以使用单一理解完全解决问题。
目前,我正在生成两个列表并将它们连接起来(如果顺序不重要,这可行):
>>> [2*i for i in range(1, 4)] + [-2*i for i in range(1, 4)]
[2, 4, 6, -2, -4, -6]