python中 字符串是怎么比较大小的

Python017

python中 字符串是怎么比较大小的,第1张

从第一个字符开始比较,比较的是字符对应的ASCII码大小,如果两年字符串字符相同,但是一个字符串的字符多,则多的大,比如:

"ABC"小于"ABCD"

"ABD"大于"ABC"

在python里,汉字分字节流和unicode字符串:

参考http://www.sqlite.com.cn/MySqlite/11/395.Html

例如“哈”字,假如两个有两个字符str1和str2

str1

=

'\xb9\xfe'

//

这个字节流表示哈字是使用GBK编码的字节流

str2

=

u'\u54c8

//

表示这个字符使用UNICODE-16编码

判断相等:

str1.decode('GBK')

==

str2

统一转换成UNICODE16比较,

如果str2不是UNICODE16编码,也需要做相应的转换。

可以直接使用python的内建函数cmp():

s1='hello'

s2='hell'

s3='hello world'

s4='hello'

cmp(s1,s2)

#输出结果为1

cmp(s1,s3)

#输出结果为-1

cmp(s1,s4)

#输出结果为0