python - Python 中的一个奇怪事件

标签 python

出于某种原因,在 Python 2.7 中表达式的形式为 tuple > list返回 True ,但是tuple < listtuple == list返回 False .这是为什么?

这个观察无论如何都不是我的原创。

最佳答案

tuplelist 不是同一类型。在比较不同类型的值时,Python 做了一些令人惊讶的事情,并且没有定义跨这些类型工作的比较器。它比较类名的字典顺序:

>>> class Coffee(object):
...     pass
... 
>>> class Tea(object):
...     pass
... 
>>> c = Coffee()
>>> t = Tea()
>>> c > t
False
>>> c == t
False
>>> c < t
True
>>> 

幸运的是,在 python 3 中,这种情况消失了,比较此类类型会引发异常。

关于python - Python 中的一个奇怪事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7985696/

相关文章:

python - 如何在Jupyter实验室/笔记本中使用交换空间/虚拟RAM?

python - 如何在 VIPS/Python 中对特定色调范围应用变换

python - 从文件中存储和检索列表

python - 在 Jupyter Notebook 中找不到来自 Conda env 的包

python - sqlalchemy-三个实体通过一个表连接

python - Python 中的排列增长算法和打印字符串

python - 在遍历字典的同时修改字典。 Python 字典中的错误?

python:字典获取方法默认值的问题

Python TextWrapper,给定 n 行

python - 在具有非唯一值的列上合并 Python 中的两个数据框