我有一个3个数的数组,怎么变成以这三个数开始的递增数组:
使用numpy,应该尽可能避免循环。下面的写法,即使超大的数组也可以在瞬间完成。
>>> import numpy as np
>>> a = np.array([2,1,4])
>>> np.repeat(a, 4).reshape(3,4) + np.arange(4)
array([[2, 3, 4, 5],
[1, 2, 3, 4],
[4, 5, 6, 7]])
>>> import numpy as np
>>> num = np.array([2,1,4])
>>> new = np.array([[i for i in range(j,j+4)] for j in num])
>>> new
array([[2, 3, 4, 5],
[1, 2, 3, 4],
[4, 5, 6, 7]])
>>>