已知 x = (i**2 for i in range(10)),那么表达式 x.__next__() 和 next(x) 的功能是等价的。
时间: 2024-04-13 10:25:57 浏览: 106
对不起,我之前的回答有误。x = (i**2 for i in range(10)) 是一个生成器表达式,它返回一个生成器对象,而不是一个迭代器对象。因此,x.__next__() 并不适用于生成器对象。
正确的用法是使用 next(x) 来获取生成器的下一个值。所以,next(x) 和 x.__next__() 的功能是等价的,都可以返回生成器 x 的下一个元素。
阅读全文