我有一个创建列表的循环,我需要运行该循环一定次数,并获取所有列表总和的平均值

时间:2019-06-25 06:53:31

标签: python python-3.x python-2.7

我需要运行循环一定次数,并获取所有列表的总和。

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次循环时,结果太小而无法正确显示

1 个答案:

答案 0 :(得分:0)

你的意思是这样吗?

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)]

随机2和随机3生成1000次并将它们相加。

在您的代码中,总和没有增加,因为您一直在覆盖new_randoms(我认为应该是总和?)。所以基本上您只有一个循环的总和。

另外,您的randoms3还在继续增长,因此,如果value为1000,则它的长度为252000,一旦达到252,则总和始终相同(zip(a,b)的长度将是较短的长度列表,因此添加到randoms3的新值不会发生任何变化)。在我的代码中,我将两个列表都填满,然后再对其求和。

当我运行一次时,random_sum的最小值为-125,最大值为122。