Python字符串内建函数-字符串比较大小

2023-10-13 17:25:36 浏览数 (2)

我们都知道数字是能比较大小的,那么数字字符串也能比较大小吗?字母字符串呢?一起来试试吧 。

数字能比较大小,那么字符串呢?相信大家都很有兴趣来了解。那就举些例子来试试看吧:

代码语言:javascript复制

 >>> '123' > '456'
 False
 >>> '123' < '456'
 True
 >>> '123' < '133'
 True
 >>> '123' < '124'
 True

由此我们看到数字字符串是能够比较大小的,而且比较方法和数字比较一样,但是字符串又不止只有数字字符串,那其他的字符串呢?

代码语言:javascript复制

 >>> 'a' < 'b'
 True
 >>> '12a' < '12b'
 True
 >>> 'd' > 'b'
 True
 >>> 'ab' < 'ac'
 True
 >>> 'b' < 'c'
 True
 >>>

在字符串比较中,是从第一个字符开始比较的,但是计算机怎么判断字符的大小呢?在这里不得不说说另外一个知识点ASCII码了,ASCII是字符编码标准,规定了常用符号用哪些二进制数来表示。根据ASCII表一些字符可以找到相应的十进制数。

有了ASCII表字符对应的十进制数就一目了然。但是难道我们需要将一张表都记下来吗?记性不好的小伙伴表示很绝望了。我们也不可能每次转换都要翻翻ASCII表。所以python提供了两个内置函数可以将字符转换成数字ord()或者将数字转换成字符chr()。

代码语言:javascript复制

 >>> ord('f')
 102
 >>> chr(64)
 '@'
 >>> chr(65)
 'A'
 >>>

最后,需要提醒一下你们int()方法只能转换纯数字字符串,有时候许多人栽在了这一块。

代码语言:javascript复制

 >>> int('123')
 123
 >>> int('123a')
 Traceback (most recent call last):
 File "<pyshell#13>", line 1, in <module>
 int('123a')
 ValueError: invalid literal for int() with base 10: '123a'
 >>>

0 人点赞