我有一个创建列表的循环,我需要运行这个循环一定的次数,然后得到所有列表总和的平均值

2024-04-19 10:57:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要运行循环一定的次数,得到所有列表总和的平均值。你知道吗

while len(randoms2) < 252:
    number = np.random.normal(0,1,None)
    randoms2.append(number)

while count < 252 * value:     
    number2 = np.random.normal(0,1,None)
    randoms3.append(number2)
    randoms = [sum(x) for x in zip(randoms2, randoms3)]
    new_randoms = [sum(x) for x in zip(randoms, randoms3)]
    count += 1

结果不会产生错误,但是它们太小了,我运行了1000次循环,结果不正确


Tags: innonenumberforcountnprandomsum
1条回答
网友
1楼 · 发布于 2024-04-19 10:57:40

你是说这样的事吗?你知道吗

random_sum = [0 for i in range(252)]

for _ in range(1000):
    randoms2 = []
    randoms3 = []

    for _ in range(252):
        randoms2.append(np.random.normal(0, 1, None))
        randoms3.append(np.random.normal(0, 1, None))

    temp = [sum(x) for x in zip(randoms2, randoms3)]
    random_sum = [sum(x) for x in zip(random_sum, temp)]

randoms2和randoms3生成1000次,并相加。你知道吗

在您的代码中,您的总和没有增长,因为您一直覆盖新的\u随机数(我假设它应该是总和?)。所以基本上只有一个循环的和。你知道吗

而且你的randoms3还在不断增长,所以如果值是1000,它的长度将是252000,一旦它达到252,总和总是相同的(zip的长度(a,b)将是较短列表的长度,所以添加到randoms3的新值不会改变任何东西)。在我的代码中,我在求和之前填写了两个列表。你知道吗

当我运行这一次时,我得到了一个最小值约为-125,最大值约为122的随机总和。你知道吗

相关问题 更多 >