Python 用零填充列表中的数组

Python 用零填充列表中的数组,python,numpy,Python,Numpy,我有以下清单: a=[np.array([1,2]),np.array([0])] 我想重复一下: x=np.array([t[i]表示枚举(a)中的i,t)]) 但是由于np.array([0])只有一个元素,它将抛出一个错误 所以,我想用另一个0填充np.array([0]),然后 a = [ np.array([ 1, 2]), np.array([0,0])] x = np.array([t[i] for i, t in enumerate(a)]) print(x) [1 0]

我有以下清单:

a=[np.array([1,2]),np.array([0])]

我想重复一下:

x=np.array([t[i]表示枚举(a)中的i,t)])

但是由于
np.array([0])
只有一个元素,它将抛出一个错误

所以,我想用另一个0填充
np.array([0])
,然后

a = [ np.array([ 1,  2]), np.array([0,0])]
x = np.array([t[i] for i, t in enumerate(a)])
print(x)

[1 0]
因此,我发现列表中最大的长度是:

temp = []
for i in a:
    temp.append(len(i))

themax = max(temp)  
这是2。(np.array([1,2])

现在,我必须用零填充其他子元素


请注意,我将始终使用零
np.array([0])
,这会导致问题。

最简单的方法是在数组太小的情况下,将列表理解改为零而不是数组元素:

x = np.asarray([(t[i] if i < t.shape[0] else 0.) for i, t in enumerate(a)])
x=np.asarray([(t[i]如果i

这更有效,因为你不必用零来扩展所有数组。

也许你要找的是
np.empty()
。@Jan:不,我在列表中有零,我必须保留它们。