我需要运行循环一定次数,并获取所有列表的总和。
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次循环时,结果太小而无法正确显示
答案 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。