【发布时间】:2021-07-31 02:40:18
【问题描述】:
我试图理解以下代码:
A = np.arange(3).reshape(3,1)
B = np.arange(3).reshape(1,3)
it = np.nditer([A,B,None])
for x,y,z in it: z[...] = x + y
print(it.operands[2])
我不知道[...] 在做什么。
【问题讨论】:
-
请注意,所示代码只是计算
A + B的一种复杂方法。不太清楚为什么会这样写,除非缺少一些额外的上下文。 -
这里使用它是因为
z是一个0d数组,由nditer创建。一个 numpy 初学者不应该学习nditer。它很复杂,对性能没有任何帮助。 -
谢谢大家的回答。 @hpaulj 哈哈也许你是对的,但我仍然需要知道这一点。我知道'nditer'只是帮助你迭代数组,所以如果它比这更复杂,我希望你能启发我。