質問: 与えられた一連の数値S_a={n1,n2,n3,...,na}
から、次のタイプの数値の組み合わせが生成されます。
{Sk,Sp}, where k=1...a, p=k+1,..,a
このソリューションをループとして簡単に構築できます。
N = len(S)
for i in range(0, N):
for j in range(i+1, N):
print("%d,%d" %(i,j))
しかし、ベクトル化されたソリューションを探しています。
これの別のバリエーションは、オブジェクトのリストを考慮することです:
class A:
def function(self, a):
pass
L = [a1, a2, a3, a4, a5 ]
#where a1,a2,an are of class A.
このループのベクトル化バージョンの書き方:
N = len(L)-1
for i in range(0, N):
for j in range(i+1, N):
L[i].function(L[j])