在Python中,如何将变量从一个生成器传递到另一个生成器?

在Python中,如何将变量从一个生成器传递到另一个生成器?,python,Python,我有以下两台发电机: a = 20 def function1(): coin = np.random.randint(0, 100) a2= a+coin yield a2 def function2(): yield a2 我想将a2传递到function2。我怎样才能做到这一点呢?我不能完全确定这是否是您要寻找的,但是生成器有一个名为“发送”的方法,可以让您将数据传递给生成器。 你可能想看看这个。注意“消费”和“生产”的功能 这些函数没有意义。如果它

我有以下两台发电机:

a = 20

def function1():
    coin = np.random.randint(0, 100)
    a2= a+coin
    yield a2


def function2():
    yield a2

我想将
a2
传递到
function2
。我怎样才能做到这一点呢?

我不能完全确定这是否是您要寻找的,但是生成器有一个名为“发送”的方法,可以让您将数据传递给生成器。
你可能想看看这个。注意“消费”和“生产”的功能

这些函数没有意义。如果它们只产生一个值,为什么它们是生成器呢?为什么不编写常规函数呢?通常,生成器用于“生成”多个值,即包含某种循环。只有一个
yield
不能利用生成器。你想在这里解决什么问题?迈克,这是我的问题。看第26行。在这种情况下,图像和掩码生成器就是我试图创建的(即
function1
function2
)。问题是我的函数1(即图像生成器)调用了随机采样选择,其中该随机选择的值也必须应用于函数2(即第二个生成器“掩码”)。注意,我正在创建自己的图像和掩码生成器,而不是使用gist代码中定义的生成器。现在还不清楚生成器最终是如何使用的。请试着发一封邮件。