Quelle est la meilleure façon de générer un ensemble d'objets de type bitarray afin de pouvoir tester efficacement l'appartenance. La façon naïve ne semble pas fonctionner comme je le pense:Jeu de bitarray Python
>>> from bitarray import bitarray
>>>
>>> bitarray_set = set([bitarray('0000'), bitarray('0001')])
>>> bitarray_set
set([bitarray('0001'), bitarray('0000')])
>>>
>>> bitarray('0000') in bitarray_set
False
Une solution est de garder un ensemble distinct de chaînes ou un autre objet plus convivial que les clés. Convertissez ensuite un bitarray en chaîne et testez l'appartenance à cet ensemble à la place. Mais cela semble un peu lourd. Y a-t-il une meilleure solution?
Je pense que vous avez raison à propos du problème, mais puisque les tableaux sont mutables, ils ne sont probablement pas censés être lavables, et nous devrions avoir 'bitarray .__ hash__ = None' pour l'empêcher. – DSM
@DSM: Oui, cela aurait du sens. Comme je l'ai dit, la documentation n'indique pas clairement ce que le comportement est supposé être. Mais ils doivent soit devenir immuables ou non. – BrenBarn