网站首页 美食营养 游戏数码 手工爱好 生活家居 健康养生 运动户外 职场理财 情感交际 母婴教育 时尚美容

python3.6使用字符串比较cmp时报错处理方案

时间:2024-10-12 21:09:36

如图所示,笔者想比较字符串sStr1和亨蚂擤缚字符串sStr2 ,使用cmp函数规则为:如果 sStr1< sStr2返回 -1, 如果 sStr1== sStr2返回 0, 如果 sStr1> sStr2返回 1。但是在python3.6中使用cmp报错了。那是因为从python3 后已经不使用cmp函数进行比较大小。那么我们想比较字符串sStr1和字符串sStr2该怎么办呢?

python3.6使用字符串比较cmp时报错处理方案

工具/原料

python3.6

方案一

1、使用operator,具体用法如下所示:import operator lt(a,b) 相当于 a&造婷用痃lt;b 从第一个数字或字母(ASCII)比大小 le(a,b)相当于a<=b eq(a,b)相当于a==b 字母完全一样,返回True, ne(a,b)相当于a!=b gt(a,b)相当于a>b ge(a,b)相当于 a>=b

python3.6使用字符串比较cmp时报错处理方案

2、运行结果如下,返回结果为布尔类型

python3.6使用字符串比较cmp时报错处理方案

方案二

1、另一种简便的方法,直接比较大小,先上代码

python3.6使用字符串比较cmp时报错处理方案

2、返回的结果为1,这是因为在python中遵循如下规则:True – True = 0True – False = 1False– True = -1False– False = 0在代码中sStr1> sStr2 = True,sStr1< sStr2 = False所以返回结果为1

python3.6使用字符串比较cmp时报错处理方案

3、接下来看如果sStr2不属于sStr1的一部分,即sStr2与sStr1没有子属关系,返回结果会是什么样的情况呢?返回结果为1,对照一下规则只有True – False = 1,这是怎么回事呢?这是因为sStr1与sStr2进行的是ASCII比较大小,而不是比较字符串的不同,与方案一中operator包对应

python3.6使用字符串比较cmp时报错处理方案
© 2025 阿力知识库
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com