を数えることはdictのは、() 例:ハッシングビット配列? 「(1、bitarray:
data = {}
for _ in xrange(10):
ba = ...generate repeatable bitarrays ...
data[ba] = 1
print ba
{bitarray( '11011')bitarrayである非重複キーを持つことができないことを何らかの理由らしいです11011 '):1、ビット配列(' 11011 '):1、ビット配列(' 01111 '):1、ビット配列(' 11110 '):1、ビット配列(' 11110 '):1、ビット配列(' 01111 '):1 、bitarray( '01111'):1、bitarray( '11110'):1、bitarray( '11110'):1}
重複するが異なる鍵(FE最初の2つの要素として格納されていることをはっきりと見ることができます)!!それは奇妙です。理由は何か。 私の目標は、単純にビットパターンが現れる回数を数えることです。もちろん、Dictはこれには完璧ですが、何らかの理由でbitarray()がハッシュアルゴリズムに不透明であるようです。 btw .. bitarray()を使用する必要があります。原因は10000ビット+パターンです。
ビットpattensの発生をカウントする効率的な方法の任意の他のアイデアは...
dictキーしようとしてもTypeErrorが発生するはずですが、クラスにはPyHash_NotImplementedを使用する代わりにデフォルトのIDベースのハッシュを継承するバグがあります。 – user2357112