tricks
python的dict中关于equal和hash计算方式会有意外的效果
['no', 'yes'][True] # output?
{True: 'yes', 1: 'no', 1.0: 'maybe'} # output?
“布尔类型是整数类型的子类型,布尔值在几乎所有环境中的行为都类似于值 0 和 1,但在转换为字符串时,分别得到的是字符串 False 或 True.”
– The Standard Type Hierarchy
由于True,1, 1.0的__eq__和__hash__都一样,所以出现了神奇的结果.