gpt4 book ai didi

python - 使用生成器生成 (p,1-p) 对

转载 作者:太空宇宙 更新时间:2023-11-04 08:05:05 26 4
gpt4 key购买 nike

我想做的是:

my_list = []
for i in range(10):
p = random.random()
my_list.append( (p,1-p) )

我正在尝试对生成器做同样的事情。我尝试了以下方法:

my_list = [ (random.random(), 1-random.random()) for i in range(10) ]

它没有按预期工作,因为它调用了两次 random.random(),这会产生不同的结果。

如何使用生成器表达式来实现?

最佳答案

使用创建者函数:

def generate_pair(p):
return (p, 1-p)

my_list = [ generate_pair(random.random()) for i in range(10) ]

或使用嵌套生成器:

random_numbers = (random.random() for i in range(10))
my_list = [ (p, p-1) for p in random_numbers ]

关于python - 使用生成器生成 (p,1-p) 对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32590484/

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