首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python cmp()函数

Python cmp()函数
EN

Stack Overflow用户
提问于 2020-12-10 13:27:42
回答 1查看 1.3K关注 0票数 1

你好,我试图使用cmp()函数比较python中的两个元组,但是出现了一个错误,如下所示:

NameError:名称“cmp”未定义为

我的守则:

代码语言:javascript
复制
myStupidTup = ("test",10,"hmm",233,2,"am long string")
mySmartTup = ("test",10,233,2)
print(cmp(myStupidTup, mySmartTup)) 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-10 13:31:00

cmp函数仅在Python 2.x中。正如正式Python文档中提到的

应该将cmp()函数视为已消失,不再支持__cmp__()特殊方法。根据需要使用__lt__()进行排序、__eq__()__hash__()以及其他丰富的比较。(如果您确实需要cmp()功能,可以使用表达式(a > b) - (a < b)作为cmp(a, b)的等效表达式。)

cmpPython 3.x中的等效值是:

代码语言:javascript
复制
def cmp(a, b):
    return (a > b) - (a < b) 

注意:您的元组(myStupidTupmySmartTup)不支持比较。如果您运行TypeErrorTypeError: '>' not supported between instances of 'str' and 'int',您将得到它

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65235441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档