高效地插入数字-NumPy/Python

高效地插入数字-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

返回一个新向量,其中每个元素由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             # 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)
的编辑?