Python中的max和Min函数问题

Python中的max和Min函数问题,python,python-3.x,Python,Python 3.x,为什么max函数返回d而E是该字符串中的最高字符 >>> d="programing" >>> min(d) 'a' >>> d="123456Ed" >>> min(d) '1' >>> max(d) 'd' 这就是为什么min函数返回1,而字符串中有e是最小的字符。'e'

为什么max函数返回d而E是该字符串中的最高字符

>>> d="programing"
>>> min(d)
'a'
>>> d="123456Ed"
>>> min(d)
'1'
>>> max(d)
'd'

这就是为什么min函数返回1,而字符串中有e是最小的字符。

'e'
,因为ASCII表中大写字母排在第一位

min()
max()
使用比较它们之间的元素;对于字符/字符串,使用Unicode值

示例字符串
'123456eeE'
中某些字符的数值为(使用内置函数):

因此,这并不奇怪:

>>> ord('1')
49
>>> ord('e')
101
>>> ord('E')
69

在字符串上使用min()时,它会自动返回最接近字母表开头的字符,该字符以特殊字符开头,然后是数字,然后是字母。它基于ASCII表,严格来说,重要的是Unicode;不过,前128个代码点对应于ASCII码。你为什么认为
'e'<'1'
'd'<'e'
?啊,字符串中的位置并不重要。
>>> ord('1')
49
>>> ord('e')
101
>>> ord('E')
69
>>> min('123456eeE')
'1'
>>> max('123456eeE')
'e'