python max和min函数

a=[9,8,7,[6,5,4]]书上说列表的列表只考虑每个列表的第一个元素,我输了一下发现max(a)是[6,5,4],而min(a)是7,python版本是2.7,请... a=[9, 8, 7, [6, 5, 4]]
书上说列表的列表只考虑每个列表的第一个元素,我输了一下发现max(a)是[6, 5, 4], 而min(a)是7, python版本是2.7, 请问该怎么理解?
展开
 我来答
礻斤丶
推荐于2016-01-23 · TA获得超过4308个赞
知道大有可为答主
回答量:1544
采纳率:100%
帮助的人:1777万
展开全部

max和min函数是调用了比较方法来进行判断的,即标准的><符号,而对于不同类型的,则又有专门的规定,即按照类型名排列,即7与[6,5,4]比较是'int'与'list'两个字符串之间的比较。

>>> 'int' < 'list'
True

因此肯定是[6,5,4]最大,而7最小。


我认为你书上那句话说的是针对于list之间的比较

>>> [0,1999] > [1,0]
False
>>> [0,10] > [-1, 1000, 1200323]
True

这个比较是根据每个list的第一个元素进行比较的。

百度网友9308069
推荐于2018-03-28 · TA获得超过1万个赞
知道大有可为答主
回答量:3947
采纳率:89%
帮助的人:1923万
展开全部
就不要对这样混杂不同类型的数据用max或min。。。。
1.逻辑不通,2.出现的结果是非标准定义的、随版本实现的、不可控的输出.
在python3中已经增加了对这种异常的处理,会弹出不可排序的异常
TypeError: unorderable types: list() < int()
所以不要去理解,把max([9, 8, 7, [6, 5, 4]])当成错误的、不安全的代码写法
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式