Python max()不起作用?实际上并没有给我最大值

时间:2016-03-10 19:45:53

标签: python list max

最近在python中使用max()函数时出现问题。这是我的代码:

x = ["AJK","exit","Down","World","HappyASD"]
max(x)

但是没有得到“HappyASD”,我得到了“退出”。 有什么帮助吗?

4 个答案:

答案 0 :(得分:4)

如果您要查找最大长度,则需要send the key to the max function

x = ["AJK","exit","Down","World","HappyASD"]
max(x, key=len)

DEMO:

>>> x = ["AJK","exit","Down","World","HappyASD"]
>>> max(x, key=len)
'HappyASD'
>>> 

如果未指定密钥,则默认情况下,max由强制类型确定。

答案 1 :(得分:0)

ord(' e')= 101高于ord(' H')= 72

答案 2 :(得分:0)

在这里看不到任何错误... exit中第一个字母的ord值是最高的

答案 3 :(得分:0)

这是因为max()比较了字符的ascii值。我认为。 ' E'是0x65,而' A'是0x41,' D'是0x44,依此类推。

你可以参考: http://www.tutorialspoint.com/python/string_max.htm