【发布时间】:2022-01-02 20:45:28
【问题描述】:
我有三个 numpy 数组:
Arr1 = [9,7,3,1] (1 x 4 array)
Arr2 = [[14,6],[13,2]] (2 x 2 array)
Arr3 = [0,2] (1 x 2 array)
我需要将 Arr1 中的元素替换为 Arr2 中的元素,并使用 Arr3 中给出的相应索引,这样输出将是:
Output_Arr = [[14,6],[7],[13,2],[1]]
我编写了一些我认为是一个好的开始的代码,但它不起作用。没有错误或任何东西,只是 Arr1 没有更新,好像不满足条件:
dim1 = len(Arr1)
dim2 = len(Arr2)
dim3 = len(Arr3)
for i in range(dim1):
for j in range(dim3):
if i==Arr3[j]:
Arr1[i] = Arr2[j]
else:
Arr1[i] = Arr1[i]
有没有人知道如何解决这个问题?
【问题讨论】:
-
output_arr 不能是 numpy 数组,因为所有行的长度都不相同。你能澄清一下吗? (我的意思是:如果它只是一个列表列表,你可以吗?或者你想要零作为填充值?)
-
@Demi-Lune 好电话。一个列表可以正常工作,这样输出就是一个“数组数组”。
标签: python arrays numpy for-loop