python - 在另一个函数中包含收益
问题描述
我有两个函数,generatorA()
调用generatorB()
里面吧。我想在调用时获得所有收益generatorB()
,但我只知道0,1,2
如何获得0,1,2,3,4,5
generatorA()
是一个回调函数。所以我不能说,它什么时候会被调用。
def generatorA():
mylist = range(4,6)
for i in mylist:
yield i
def generatorB():
generatorA()
mylist = range(3)
for i in mylist:
yield i
for i in generatorB():
print(i)
解决方案
使用yield from
:
def generatorA():
return range(4,6)
def generatorB():
mylist = range(3)
for i in mylist:
yield i
yield from generatorA()
for i in generatorB():
print(i)
输出
0
1
2
4
5
推荐阅读
- azure-data-factory - 使用 azure 数据工厂查找 Azure 数据湖目录中可用的文件数
- java - Ignite 的 SQL 查询是事务性的吗?
- reactjs - Next.JS 动态路由静态导出项目在新标签页打开或重新加载页面导致404
- google-apps-script - 如何使用应用脚本更新现有图表的数据范围?[谷歌表格]
- javascript - 有什么办法可以将从 babel 转换的 javascript 代码转换回原来的 es6 形式?
- mysql - MySQL:获取每个部门的员工总数
- ios - 如何避免订阅时的 IAP 30% 费用(IOS 应用程序)?
- javascript - 如何将click事件的回调与keydown事件的回调结合起来?
- mysql - MySQL查询中行中的最大值
- sql - Oracle SQL - 创建“未存储”过程