【发布时间】:2020-02-12 17:20:46
【问题描述】:
我有以下 numpy 数组
import numpy as np
a = np.array([1,2,6,8])
我想从 a 创建另一个 numpy 数组,以便它包含 a 的两个元素的所有不同可能总和。很容易证明存在int(a.size*(a.size-1)/2) 不同的可能总和,由以下各项组成:
a[0] + a[1]
a[0] + a[2]
a[0] + a[3]
a[1] + a[2]
a[1] + a[3]
a[2] + a[3]
如何在不使用双 for 循环的情况下以上述总和作为元素构造一个 numpy 数组(我能想到的唯一方法)。对于上面的例子,输出应该是[3,7,9,8,10,14]
MWE
eff = int(a.size*(a.size-1)/2)
c = np.empty((0, eff))
【问题讨论】:
标签: python arrays numpy numpy-ndarray