【发布时间】:2015-04-30 17:42:05
【问题描述】:
如果我想在 Octave 中创建一个包含不规则、非线性数字集的数组(例如 12,然后以 5 为步长从 20 到 95,然后以 10 为步长从 100 到 190,然后以 200 到 500 25 步)我可以做到:
octave:1> nxtals = [12, 20:5:95, 100:10:190, 200:25:500]
nxtals =
Columns 1 through 13:
12 20 25 30 35 40 45 50 55 60 65 70 75
Columns 14 through 26:
80 85 90 95 100 110 120 130 140 150 160 170 180
Columns 27 through 39:
190 200 225 250 275 300 325 350 375 400 425 450 475
Column 40:
500
在 Numpy/Python3 中是否有一个优雅的 Pythonic(可能是 NumPythonic)等价物?如果我在 Python 中做一个范围列表,我会得到一个错误:
>>> q=[12, list(range(20, 50, 5)), list(range(50, 100, 10)),list(range(200,501,25))]
>>> numpy.array(q)
Traceback (most recent call last):
File "<pyshell#55>", line 1, in <module>
numpy.array(q)
ValueError: setting an array element with a sequence.
我怀疑我需要使用 numpy.ravel() 之类的东西,但似乎无法正常工作。
【问题讨论】:
标签: arrays python-3.x numpy