有一列表对其自身的矩阵求和。 现在是通过双循环来计算的,numpy 有什么优雅的写法吗?
import numpy as np
def how(x, y):
return x + y
arr = [1, 2, 3, 4, 5, 6]
match_arr = np.zeros((len(arr), len(arr)))
for i in range(0, len(arr)):
for j in range(0, len(arr)):
if j >= i:
X = how(arr[i], arr[j])
match_arr[i, j] = X
match_arr[j, i] = X
print(match_arr)
[[ 2. 3. 4. 5. 6. 7.]
[ 3. 4. 5. 6. 7. 8.]
[ 4. 5. 6. 7. 8. 9.]
[ 5. 6. 7. 8. 9. 10.]
[ 6. 7. 8. 9. 10. 11.]
[ 7. 8. 9. 10. 11. 12.]]
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.