【发布时间】:2021-04-19 12:24:32
【问题描述】:
我有一个 numpy 数组 A = np.array([1,2,3])。我想将1 添加到该数组的每个元素中,并分别返回每个添加的数组:
我想要的输出是:
list1 = [[2,2,3][1,3,3][1,2,4]]
我已尝试使用np.ufunc 方法添加我的数组,并使用普通列表,但两种方法都累积添加数组/列表:
In[1]: list1 = []
A = np.array([1,2,3])
for i in range(len(A)):
np.add.at(A, [i,], 1)
list1.append(A)
print(list1)
Out[1]: [array([2, 2, 3])]
[array([2, 3, 3]), array([2, 3, 3])]
[array([2, 3, 4]), array([2, 3, 4]), array([2, 3, 4])]
这似乎需要在for 循环之外完成,但我不确定是什么。
我哪里错了?
【问题讨论】:
-
您能说明一下您需要什么帮助吗?我不太确定我明白出了什么问题......
-
我想获取数组 [1,2,3] 并将 1 添加到该数组的每个索引并将它们分别存储在一个新列表中。所以我想要列表 1 = [[2,2,3],[1,3,3],[1,2,4]]。但我得到 list1 = [[2,3,4],[2,3,4],[2,3,4]] ,每次都添加数组
-
哦,好的。您将其附加到一个新列表中。您是否尝试过直接打印
A而不是将其附加到列表并打印列表? -
你说“返回一个数组”,然后称它为
list1,显示一些无效的东西,现在说“在一个新列表中”。你能下定决心吗?