偶然间发现这个1个有意思的问题,比如我让列表与数字进行比较,可以发现恒为真。
>>> []>10**100
True
另外,如果用python的其他基本数据类型进行比较可以得到这样的结果。
>>> []>{}
True
>>> []>set()
False
>>> set()>'1'
False
>>> 1>1.0
False
>>> 1>=1.0
True
>>> '1'>1.0
True
>>> set()>1.0
True
>>> [1]>[2]
False
>>> [1]>[0]
True
按照这种比较可以发现整数是最小的。为什么会出现列表比数字大这样的情况呢?
天蓬老师2017-04-17 18:01:42
https://docs.python.org/2/library/stdtypes.html#comparisons
CPython 実装の詳細: 数値を除く異なる型のオブジェクトは型名で並べられ、適切な比較をサポートしない同じ型のオブジェクトはアドレスで並べられます。
名前でソートされたさまざまなタイプ
リスト list
整数 int
それは明らかです