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, 请问该怎么理解? 展开
书上说列表的列表只考虑每个列表的第一个元素,我输了一下发现max(a)是[6, 5, 4], 而min(a)是7, python版本是2.7, 请问该怎么理解? 展开
展开全部
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的第一个元素进行比较的。
展开全部
就不要对这样混杂不同类型的数据用max或min。。。。
1.逻辑不通,2.出现的结果是非标准定义的、随版本实现的、不可控的输出.
在python3中已经增加了对这种异常的处理,会弹出不可排序的异常
TypeError: unorderable types: list() < int()
所以不要去理解,把max([9, 8, 7, [6, 5, 4]])当成错误的、不安全的代码写法
1.逻辑不通,2.出现的结果是非标准定义的、随版本实现的、不可控的输出.
在python3中已经增加了对这种异常的处理,会弹出不可排序的异常
TypeError: unorderable types: list() < int()
所以不要去理解,把max([9, 8, 7, [6, 5, 4]])当成错误的、不安全的代码写法
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询