gpt4 book ai didi

Python 遍历生成器返回的项目

转载 作者:行者123 更新时间:2023-12-01 12:03:44 25 4
gpt4 key购买 nike

我尝试了解发电机的工作原理。

Python 3.8.1 (default, Dec 31 2019, 18:44:59) 
[GCC 5.4.0 20160609] on linux
>>> def gen():
... yield '123'
...
>>> list(gen())
['123']
>>> list(next(gen()))
['1', '2', '3']

请解释为什么 python 在使用 next() 的情况下迭代一个项目?

最佳答案

在您的情况下,这是因为您的生成器生成类型为 str'123' - 并且 next(gen()) 是相同的值(value)。这就是 list(str) 的工作方式

你可以试试这段代码:

test = '123' # str
print(list(test)) # will also print ['1', '2', '3']

关于Python 遍历生成器返回的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59754147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com