在Python 3.x和Python 2.7中,dict.values()和dict.keys()的相等性存在不一致的行为。

8 浏览
0 Comments

在Python 3.x和Python 2.7中,dict.values()和dict.keys()的相等性存在不一致的行为。

我发现将内置的字典dictkeys()values()方法进行比较,结果是不一致的:

instance = {'one': 1}
instance.values() == instance.values() # 返回False
instance.keys() == instance.keys()     # 返回True

在Python 2.7中运行上述代码将同时返回True,这让我相信Python 3的dict_values中存在某些实现细节导致了这种奇怪的行为。

这种行为是有原因的,还是我碰巧遇到了某个隐晦的错误?

0