def generator():
for i in range(10):
yield "foo" + "baz"
for i in range(10):
yield "bar" + "baz"
我想把代码做成这样:
def baz(s):
for i in range(10):
yield s + "baz"
def generator():
baz("foo")
baz("bar")
但是,此代码的行为不同。你知道吗
如何消除生成器中包含yield
的重复代码?你知道吗
我发现了yield from
。这正是我想要的,但是我的项目是在python2.7中。你知道吗
你可以这样重写:
您可以重新编码以使用
itertools
,如下所示:给你:
或者作为一个简单的列表:
给予:
马丁的回答https://stackoverflow.com/a/35286012/901925可以被解释为:
相关问题 更多 >
编程相关推荐