字符串的Python ASCII值

时间:2019-01-23 07:06:12

标签: python ascii

初学者的问题-我知道'10' > '8'False,并且我知道'8'的ASCII值为56,但是'10'的值是什么? / p>

3 个答案:

答案 0 :(得分:4)

lexicographically完成字符串排序,这意味着您从一开始就按字符进行比较。 '10' > '8'产生False的原因是基于每个字符的比较:1的ASCII值比8小,因此以下字符被忽略。如果这些字符碰巧相等,则比较下一个字符,直到找到差异或到达一个字符串的末尾。在这种特殊情况下,其中一个是另一个的开始(前缀),较短的那个被认为是“较小”。 ('foot' <'football')。

'10'没有单个ASCII值,因为它由两个字符组成:'1'(ASCII值49)和'0'(ASCII值48)。

也许看看ord()chr()函数。

答案 1 :(得分:3)

Python按字母顺序比较字符串,即使用字符的ASCII值。

此处您未将数字10和8相比较。您正在将字符串'10'与'8'相比较。

这是字符串比较/排序(即您只对第一个字符正确的字符串进行排序(字母顺序)?

这就是这里所做的。在这里,它比较8和1而不是10。在ascii表中1发生在8之前。 1显然不大于8。这就是为什么您得到False的原因。

如果您打算进行数值比较,请使用int('10')

答案 2 :(得分:2)

每个字符都有其自己的ASCII值。 ASCII值'1'为49和ASCII值'0'为48。 可以将“ 10”的ASCII值表示为[49,48]。