class et set-Problème technique
Bonjour,
voici un code qui me pose problème.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
#! /usr/bin/env python3
class bidon():
def __init__(self, a):
self.a = a
def __eq__(self, oneObject):
if isinstance(oneObject, bidon):
return self.a == oneObject.a
return a == oneObject
a = bidon('r')
b = bidon('r')
print(a == b)
oneList = [a, b]
print(set(oneList)) |
Ce code me renvoie l'erreur suivante :
Code:
1 2 3 4 5 6
|
True
Traceback (most recent call last):
File "/Users/.../pitfall/set.py", line 20, in <module>
print(set(oneList))
TypeError: unhashable type: 'bidon' |
Tout vient de ma redéfinition de la méthode spéciale __eq__.
Que faire ?