我最近遇到了python 2.7的问题:
class A(object):
def __init__(self, v):
self.v = v
def __eq__(self, other):
return self.v == other.v
a1 = A(1)
a2 = A(1)
Run Code Online (Sandbox Code Playgroud)
所以:
print a1 == a2 # True
Run Code Online (Sandbox Code Playgroud)
和:
d = {a1: 1}
print a2 in d.keys() # True
Run Code Online (Sandbox Code Playgroud)
但:
print a2 in d # False
Run Code Online (Sandbox Code Playgroud)
问题是a2 ind.keys()和之间的主要区别是什么a2 in d?我该怎么a2 in d is True办?