私はnumpy配列のリストを持っています。各配列は、バイナリ値のシーケンスである。 [0,1,1,0,1,0]
。私はリスト内のすべての配列を比較し、全く同じシーケンスの配列を持つ配列のすべてのインデックスを持つ別のリストを取得したいと思います。Pythonの配列の一意性チェック
たとえば、A=[[0,1,0],[0,0,1],[0,1,0],[1,0,0],[1,0,0]]
の場合、B = [[1,3],[2],[4,5]]
のようなものを取得したいとします。
私は次のようにループのための二重を使用して一意性または各配列の類似性を確認することができる午前:
for i in xrange(len(A)):
for j in xrange(i+1,len(A)):
if (A[i]==A[j]).all():
print 'Duplicate of arrays %d and %d' %(i,j)
が、その後、私はどのようにグループにして、それらの間に等しい配列のインデックスを知りません別のリスト、配列、行列、または何でも。
アドバイスをいただき、ありがとうございます。
あなたは、単に辞書のアプローチを使用することができ
合計が0なのではありません。これは、2つが等しいことを意味します: '[0,1]'と '[1,0]'を考えてください。ここで、diffは '[-1,1]'で、 '0'までの合計です。 –
@WillemVanOnsem見落としを指摘してくれてありがとう。私は今質問を編集しました。 –