Python生成器链接指的是最后一次迭代

时间:2018-05-22 10:17:23

标签: python iterator

在此代码中:

x = [0]

for i in range(10):
    x = (a+i for a in x)

print(list(x)) # [90]

我正在链接生成器,以便一次迭代中的x使用前一个x的结果。但似乎所有的x生成器都在最后一次迭代中使用了i的值(9)。

如何使每个生成器在创建它们的迭代中使用i的值? (这样最终结果是0 + 1 + 2 + 3 + 4 + ......)

1 个答案:

答案 0 :(得分:0)

这就是你想要的吗?

x = [0]

for i in range(10):
    x = [a+i for a in x]

print(x)

简短的方法:

x = [0]
x = sum([i for i in range(10)])
print(x)