[英]How to loop through a random function multiple times?
def a4():
p = []
for i in range(10):
p.append(random.sample(x, 100))
r = []
for i in p:
for j in i:
r.append(j)
return r
OUTPUT:
[0.5202486543583558, 0.5202486543583558, 0.5202486543583558, 0.5202486543583558, 0.5202486543583558]
a1000 = []
for i in range(5):
a4()
a1000.append(statistics.mean(a4()))
print(a1000)
我尝试使用上面提到的for循环遍历上面定义的函数,但该函数只运行一次,所有循环结果基本相同。 我希望每次循环运行该函数。 有人能告诉我为什么这个功能只运行一次?
正如在注释中指出的那样, a4
定义中的p
中的子列表具有完全相同的元素,完全相同的次数只有这些元素的顺序发生变化。
因此, a4
每个新结果都是如此。 这些是元素排列的相同列表。 但是元素的顺序与mean
的计算无关(置换元素的总和总是相同的)。 因此,你总是得到与结果相同的意思。
但是,您可能想要实现的是某种引导机制 。 在这种情况下,您会想要替换样品。 而这反过来每次都会产生不同的结果。 如果这是你想要的,那么更换
p.append(random.sample(x, 100))
同
p.append(random.choices(x, k=100))
另外我会考虑使用numpy来做这些事情。 阅读关于numpy数组方法的连接,展平。 和numpy.random.sample和numpy.random.choice。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.