首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python Max函数

Python Max函数
EN

Stack Overflow用户
提问于 2012-04-19 19:30:32
回答 2查看 4.4K关注 0票数 3

当列表中的项不是同一类型时,max函数是如何工作的?

例如,下面的代码返回1,'3‘

代码语言:javascript
运行
复制
max([1,52,53],[1,'3']) => [1,'3']
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-19 19:55:12

在Python2中,不同类型的对象的默认比较是使用其类型的id进行比较(通过将对象指针转换为整数获得)。这里有一个到源代码的链接:http://hg.python.org/cpython/file/2.7/Objects/object.c#l757

在我的构建中,以下是类型的顺序:

代码语言:javascript
运行
复制
>>> sorted([bool, int, float, long, list, tuple, dict, str, unicode])
[<type 'bool'>, <type 'float'>, <type 'int'>, <type 'list'>, <type 'long'>,
 <type 'dict'>, <type 'str'>, <type 'tuple'>, <type 'unicode'>]

数字(复杂类型除外)有比较方法,允许基于数值进行跨类型比较(即可以将浮点型与整型进行比较)。

None对象是特殊的。它比其他任何东西都要少。

要查看所有这些内容,请使用sorted来查看排序:

代码语言:javascript
运行
复制
>>> sorted(zoo)
[None, -5, -5.0, 0, 0.0, -0.0, False, True, 10, 10.0, 11.5, {},
 {'abc': 10}, {'lmno': 20}, [], [1, 2], [1, 2, 3], [1, [2, 3]],
 '', u'', 'alpha', u'alpha', 'bingo', 'cat', (), (1, 2), 
 (1, 2, 3), (1, (2, 3)), u'bingo', u'cat']
票数 6
EN

Stack Overflow用户

发布于 2012-04-19 19:31:35

它对这两个元素执行whatever the > operator does

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10227074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档