是否可以在不使用“ tuple()”的情况下将生成器对象转换为元组?

时间:2018-08-12 17:10:53

标签: python

可以使用以下代码创建列表:

>>> [i+1 for i in(0,1,2)]
[1, 2, 3]

可以用元组做类似的事情吗?

>>> (i+1 for i in(0,1,2)),
(<generator object <genexpr> at 0x03A53CF0>,)

我期望将(1, 2, 3)作为输出。

我知道您可以做tuple(i+1 for i in(0,1,2)),但是由于您可以做[i+1 for i in(0,1,2)],所以我希望元组也可以做类似的事情。

1 个答案:

答案 0 :(得分:6)

在python 3中,您可以使用*解压缩生成器。

这里是一个例子:

>>> *(i+1 for i in (1,2,3)),
(2, 3, 4)