Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python列表大于数字_Python_Python 2.7 - Fatal编程技术网

Python列表大于数字

Python列表大于数字,python,python-2.7,Python,Python 2.7,我发现列表大于数字 >>> [1,2,3] > 1000 True 这有什么原因吗?我无法使用int([1,2,3])将列表转换为int。int无法转换为具有list(1000)的列表。那么python是如何比较这两种类型的呢?在这种“不匹配”类型的情况下,类型是按类型名称按字典顺序列出的:“列表”按字母顺序排在“int”之后,因此它更大 CPython实现细节:不同类型的对象,除了 数字按其类型名称排序;相同类型的对象 不支持正确比较的按地址排序。 () 没有关于排序

我发现列表大于数字

>>> [1,2,3] > 1000
True
这有什么原因吗?我无法使用
int([1,2,3])
将列表转换为int。int无法转换为具有
list(1000)
的列表。那么python是如何比较这两种类型的呢?

在这种“不匹配”类型的情况下,类型是按类型名称按字典顺序列出的:“列表”按字母顺序排在“int”之后,因此它更大

CPython实现细节:不同类型的对象,除了 数字按其类型名称排序;相同类型的对象 不支持正确比较的按地址排序。 ()

没有关于排序的语言规范(除了它是一致的这一事实)。碰巧的是,CPython是最常见的实现,其中有按类型名称按字典顺序排列的语言细节。

根据

大多数其他内置类型的对象比较不相等,除非它们是相同的对象;一个对象比另一个对象小还是大的选择是任意的,但在程序的一次执行中是一致的


我正要这么说。在Python 3中,它们是不可比较的。此外,在Python 2.x中,没有一个对象的比较总是比其他任何东西都少。@Uku Loskit“类型是按字典顺序列出的”Where?@machine-earthing&eyquem:更新了一点答案。@eyquem的意思是“通过对类型名称的字典顺序比较来比较对象”。@Mike,没有。您会得到一个类型错误发现它:埋藏在:“除了
==
之外的比较=将引发异常,除非该类型明确支持“当我发现一个bug但它已经被修复时,这很好”。