gpt4 book ai didi

python - 如何将随机函数作为参数传递?

转载 作者:太空狗 更新时间:2023-10-29 20:38:09 28 4
gpt4 key购买 nike

Python 非常灵活,我可以将函数用作列表的元素或其他函数的参数。例如:

x = [sin, cos]
y = s[0](3.14) # It returns sin(3.14)

def func(f1, f2):
return f1(2.0) + f2(3.0)

但是,我不清楚如何对随机函数执行相同的操作。例如,我想使用高斯分布:[random.normalvariate(3.0, 2.0), random.normalvariate(1.0, 4.0)]。在这个例子中,我将得到一个包含两个元素的固定列表。但我想要得到的是一个包含随机元素的列表。在 python 中有什么好方法可以做到这一点?

最佳答案

试试 lambda功能:

[lambda: random.normalvariate(3.0, 2.0), lambda: random.normalvariate(1.0, 4.0)]

你可以看到括号的区别。 sin是一个函数,sin(x)是这个函数的返回值。由于您无法创建不带括号的函数来表示 random.normalvariate(1.0, 4.0),因此您必须将其定义为 lambda 函数。

关于python - 如何将随机函数作为参数传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15334846/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com