【发布时间】:2017-05-09 16:06:55
【问题描述】:
我要生成如下数组a:
nv = np.random.randint(3, 10+1, size=(1000000,))
a = np.concatenate([np.arange(1,i+1) for i in nv])
因此,输出将类似于 -
[0, 1, 2, 3, 0, 1, 2, 3, 4, 0, 1, 2, 0, 1, 2, 3, 4, 5, 0, ...]
有没有更好的方法?
【问题讨论】:
-
错字 -
np.range应该是np.arange,我相信。 -
np.r_[:4, :5, :3, :6]是“手动”生成这样一个数组的一种很好的紧凑方式。如果从nv数组开始,它不会提供任何优势。
标签: python arrays numpy python-3.5