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)
这篇关于如何从生成器中只选择一项?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何从生成器中只选择一项?
基础教程推荐
- 症状类型错误:无法确定关系的真值 2022-01-01
- 使用 Google App Engine (Python) 将文件上传到 Google Cloud Storage 2022-01-01
- 哪些 Python 包提供独立的事件系统? 2022-01-01
- 使 Python 脚本在 Windows 上运行而不指定“.py";延期 2022-01-01
- 如何在Python中绘制多元函数? 2022-01-01
- 如何在 Python 中检测文件是否为二进制(非文本)文 2022-01-01
- Python 的 List 是如何实现的? 2022-01-01
- 将 YAML 文件转换为 python dict 2022-01-01
- 使用Python匹配Stata加权xtil命令的确定方法? 2022-01-01
- 合并具有多索引的两个数据帧 2022-01-01