gpt4 book ai didi

python - 用零填充列表中的数组

转载 作者:太空宇宙 更新时间:2023-11-04 05:12:35 24 4
gpt4 key购买 nike

我有这个列表:

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

我要迭代:

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

但是由于 np.array([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)])

这样效率更高,因为您不必用零展开所有数组。

关于python - 用零填充列表中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42643991/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com