【发布时间】:2018-09-27 07:02:26
【问题描述】:
我有以下代码,它总结了从正态分布中抽取的最多 100 个随机数,直到它达到 -10 或 +10:
import numpy as np
mylist=[]
summ = 0
for x in range(100):
i = np.random.randn()
summ += i
mylist.append(i)
if summ < -10 or summ >10:
break
现在我想运行 500 次,从而创建一个包含 500 个列表的列表,每个列表都包含数字。我想把它放在另一个 for 循环中:
for p in range(500):
templist = []
for x in range(100):
i = np.random.randn()
summ += i
templist.append(i)
if summ < -10 or summ >10:
mylist.append(templist)
break
除了我现在不知道如何将元素 i 附加到列表中...
更新:我更新了代码,因此首先将随机数添加到临时列表 templist,一旦总和超出限制,它就会将此列表附加到 mylist .但是,仍然无法正常工作!
【问题讨论】:
-
您想循环 500 次,但要创建 200 个列表?这将如何运作?
-
打错了,对不起! 500 次得到 500 个列表!
-
在
p循环之外创建另一个列表。在p循环内开始一个新的mylist,并在x循环完成后将其附加到外部列表。 -
您要创建 500 个当前值为
i的列表吗?然后您不需要将其附加到新列表中。只需用它初始化列表:mylist.append([i]) -
如果您的总和从未达到上限或下限,您将如何处理?不是每个列表元素的总和都大于 10 或小于 -10 是故意的吗?
标签: python-3.x numpy for-loop