擅长:python、mysql、java
<p>您可以尝试以下方法:</p>
<pre><code>import numpy as np
from itertools import chain, combinations
def all_subsets(ss):
return list(chain(*map(lambda x: combinations(ss, x), range(0, len(ss)+1))))
matx=np.array([[ 0, 1, 2, 3],
[ 1, 0, 6, 0],
[ 2, 6, 0, 1],
[ 3, 0, 1, 0]])
def sum_edeges_between_list(ls):
comb = [i for i in all_subsets(ls) if len(i)==2]
return sum([matx[i[0]][i[1]] for i in comb])
print(sum_edeges_between_list([0,1]))
print(sum_edeges_between_list([0,1,2]))
print(sum_edeges_between_list([0,1,2,3]))
</code></pre>
<p>输出:</p>
<pre><code>1
9
13
</code></pre>