高效地插入数字-NumPy/Python
返回一个新向量,其中每个元素由4个连续零分隔。尝试实现[4,2,1]-->[4,0,0,0,0,2,0,0,0,0,1]高效地插入数字-NumPy/Python,python,numpy,Python,Numpy,返回一个新向量,其中每个元素由4个连续零分隔。尝试实现[4,2,1]-->[4,0,0,0,0,2,0,0,0,0,1] def zero_insert(x): y = np.zeros((5*(len(x)-1))+1, dtype=np.int) for i in range(len(x)): y[5*i] = x[i] return y 初始化并分配- x = np.asarray(x) # convert to array n = 4
def zero_insert(x):
y = np.zeros((5*(len(x)-1))+1, dtype=np.int)
for i in range(len(x)):
y[5*i] = x[i]
return y
初始化并分配-
x = np.asarray(x) # convert to array
n = 4 # number of zeros to be inserted
N = n+1
out = np.zeros((len(x)-1)*N+1,dtype=x.dtype)
out[::N] = x
我得到的错误是“AttributeError:'list'对象没有属性'dtype'”@NickDuddy需要一个数组作为输入。请检查编辑。@NickDuddy那么,发布的解决方案对您有效吗?当我运行“AttributeError:“list”对象没有属性“dtype”时,我遇到了这个错误。@NickDuddy您是否尝试过我建议在开始时使用
x=np.asarray(x)
的编辑?