当前位置: 首页 > 面试题库 >

如何仅从生成器中选择一项?

秦城
2023-03-14
问题内容

我有一个类似下面的生成器函数:

def myfunct():
  ...
  yield result

调用此函数的常用方法是:

for r in myfunct():
  dostuff(r)

我的问题是,有什么方法可以随时从生成器中获取一个元素吗?例如,我想做类似的事情:

while True:
  ...
  if something:
      my_element = pick_just_one_element(myfunct())
      dostuff(my_element)
  ...

问题答案:

使用创建一个生成器

g = myfunct()

每当您想要一件物品时,请使用

next(g)

(或g.next()在Python 2.5或更低版本中)。

如果发电机退出,它将升高StopIteration。您可以根据需要捕获此异常,也可以将default参数使用到next()

next(g, default_value)


 类似资料:
  • 问题内容: 我只想通过“ where子句”从数据库中选择(并返回)一个字段。代码是: 这将失败,并且回溯是: 如何选择并仅返回“ id”列?我也尝试了其他几种方法,但也失败了。是“ load_only”正确的选项吗? 问题答案: 一个对象接受实体查询作为位置参数,所以只是通过它: 返回第一个结果的第一个元素;如果未找到任何行,则返回None。它为多行引发异常。 表示仅应加载实体的给定基于列的属性,

  • 在这里json 如何使用库boost获得更新的值4? 我知道怎么取这样一个“ts”值。但是我不明白如何取两个括号的值

  • 本文向大家介绍如何仅从R数据框中选择数字列?,包括了如何仅从R数据框中选择数字列?的使用技巧和注意事项,需要的朋友参考一下 最简单的方法是使用dplyr包的select_if函数,但我们也可以通过lapply来实现。 使用dplyr 使用lapply

  • 我试图在Python中创建一个随机列表。每次运行代码时,列表中的随机单词都会按顺序出现。我想做的是: 目标是要求用户从将要显示的列表中选择一些内容。下面是我想要的输出示例:

  • 我怎样才能使一个字母出现在日历上,而不是两个,例如MO我想成为M。我已经尝试过使用周末短,使三个字母"MON",有人知道如何使"M"

  • 我有旋转器。我用数据库表中的数据(一列)填充了它。现在,当用户从Spinner中选择一个项目时。我想在数据库中的一个函数,它返回所选项目的相应主键。在我的主活动中,主键应该存储在变量中。我怎么能这么做。 这是我在main Activity中的代码: 这是我在数据库中的函数: