Python 如何在numpy/scipy中将每个元素与其他元素进行比较
我有一个2D数组,我需要对它做一些分析,包括对每一对可能的元素进行计算,然后对它们求和 问题是,我需要避免对每一对进行两次计算——如果我查看元素A和B,我需要对A*B进行计算,并避免对B*A重复计算 目前我正在这样做:Python 如何在numpy/scipy中将每个元素与其他元素进行比较,python,arrays,numpy,scipy,Python,Arrays,Numpy,Scipy,我有一个2D数组,我需要对它做一些分析,包括对每一对可能的元素进行计算,然后对它们求和 问题是,我需要避免对每一对进行两次计算——如果我查看元素A和B,我需要对A*B进行计算,并避免对B*A重复计算 目前我正在这样做: comb=[] amo=len(inds) for m in range(0,amo): for n in range(m+1,amo): comb.append([inds[m],inds[n]]) 其中,inds是一个1d数组。看起来像是您要查找的
comb=[]
amo=len(inds)
for m in range(0,amo):
for n in range(m+1,amo):
comb.append([inds[m],inds[n]])
其中,
inds
是一个1d数组。看起来像是您要查找的
看一看:好的,这并不能解决我的问题,这给出了所有元素的组合,但包括重复项,我需要避免。我对我的问题进行了编辑,以使这一点更加清楚。
from itertools import combinations
comb = list(combinations(inds, 2))