初学者的问题——我知道'10' > '8'
是False
,我知道'8'的ASCII值
> 是 56,但是 '10'
的值是多少?
最佳答案
字符串排序完成lexicographically ,这意味着您从一开始就按字符进行比较。 '10' > '8'
产生 False
的原因是基于每个字符的比较:1
的 ASCII 值小于 8
,所以后面的字符会被忽略。如果这些字符恰好相等,则比较下一个字符,直到发现差异或到达一个字符串的末尾。在这种特殊情况下,一个是另一个的开头(前缀),较短的被认为是“更小”。 ('foot'
<'football'
)。
'10'
没有单一的 ASCII 值,因为它由两个字符组成:'1'
(ASCII 值 49)和 '0'
(ASCII 值 48)。
关于字符串的 Python ASCII 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54321709/