【发布时间】:2015-04-28 10:15:54
【问题描述】:
我一直在试验 Python 字典,发现 __gt__ 和 __lt__ 是为字典实现的。
我已经对它们进行了测试,似乎它们以某种方式比较了密钥,但我不太清楚这是如何完成的;例如,我不太确定{1: 1} > {'0': 0} 如何返回False(事实上,'0' > 100000 也返回True)。
有没有文件详细说明这两个功能的实现?
【问题讨论】:
-
仅在 Python 2.x 中 - 在 3.x 中你会得到
TypeError: unorderable types: dict() > dict()。您的问题是关于字典比较,还是为什么字符串“大于”数字? -
在 python repr (Python 2.7.9 Anaconda 2.2.0) 我可以输入以下代码:
tmp1 = dict();tmp2 = dict();tmp1[1] = 1;tmp2['1'] = 2;tmp2 > tmp1并返回True... 我不太懂确定这是怎么做的……
标签: python python-2.7 dictionary default