How to pick just one item from a generator?(如何从生成器中只选择一项?)
问题描述
我有一个生成器函数,如下所示:
def myfunct():...产出结果调用这个函数的常用方法是:
for r in myfunct():材料(r)
我的问题是,有没有一种方法可以随时从生成器中获取一个元素?例如,我想做这样的事情:
当真时:...如果有的话:my_element = pick_just_one_element(myfunct())东西(我的元素)...
解决方案 使用创建生成器
g = myfunct()
每当您想要一件物品时,请使用
<上一个><代码>下一个(g)
(或 Python 2.5 或更低版本中的 g.next()
).
如果生成器退出,它将引发 StopIteration
.如有必要,您可以捕获此异常,或使用 next()
的 default
参数:
next(g, default_value)
I have a generator function like the following:
def myfunct():
...
yield result
The usual way to call this function would be:
for r in myfunct():
dostuff(r)
My question, is there a way to get just one element from the generator whenever I like? For example, I'd like to do something like:
while True:
...
if something:
my_element = pick_just_one_element(myfunct())
dostuff(my_element)
...
Create a generator using
g = myfunct()
Everytime you would like an item, use
next(g)
(or g.next()
in Python 2.5 or below).
If the generator exits, it will raise StopIteration
. You can either catch this exception if necessary, or use the default
argument to next()
:
next(g, default_value)
这篇关于如何从生成器中只选择一项?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何从生成器中只选择一项?


基础教程推荐
- 使用大型矩阵时禁止 Pycharm 输出中的自动换行符 2022-01-01
- PermissionError: pip 从 8.1.1 升级到 8.1.2 2022-01-01
- PANDA VALUE_COUNTS包含GROUP BY之前的所有值 2022-01-01
- 无法导入 Pytorch [WinError 126] 找不到指定的模块 2022-01-01
- Plotly:如何设置绘图图形的样式,使其不显示缺失日期的间隙? 2022-01-01
- 修改列表中的数据帧不起作用 2022-01-01
- 求两个直方图的卷积 2022-01-01
- 在同一图形上绘制Bokeh的烛台和音量条 2022-01-01
- 在Python中从Azure BLOB存储中读取文件 2022-01-01
- 包装空间模型 2022-01-01