字符串/序列的大小比较

a. 字符串是可以比较大小的,我们知道字符串是由单个字母组成的一串字符
比较字符串时根据 字母排序 顺序进行比较的,字母都是Unicode字符,可以比较容易按照顺序比较出大小
例如:
>>> "alpha" < "beta"
True
>>> "alpha" < "alphb"
True
>>> "alpha" < "aapha"
False

我们可以通过两个内建函数 来得到每个字符对应的 Unicode 数值
例如 ord("x") 得到 x对应的 数值
>>> ord("x")
120
我们也可以使用chr(int x) 来得到数值x对应的字符是哪个
例如 chr(80)
>>> chr(80)
'P'

b. 序列也是可以比较大小的,比较的原理是一样的
例如:两个简单的序列可以很容易比较出大小
>>> [1,2] < [2,1]
True
但是序列的情况会比较复杂,例如序列对应位置的元素 类型可能不是简单的数值,导致不能简单比较,这个时候的比较
就类似于多层嵌套,先比较外层的,然后在逐层比较内层的数据,当出现大小差异时,直接返回结果就ok了。
例如:
>>> [2, [1, 4]] < [2, [1, 5]]
True

但是出现对应位置的数据类型不同时,可能就无法比较了
例如:
>>> [2, [1, 4]] < [2, 5]
Traceback (most recent call last):
  File "<pyshell#83>", line 1, in <module>
    [2, [1, 4]] < [2, 5]
TypeError: '<' not supported between instances of 'list' and 'int'
就会直接报错了,提示 不支持数值类型和列表类型对比
 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值