你好,我试图使用cmp()函数比较python中的两个元组,但是出现了一个错误,如下所示:
NameError:名称“cmp”未定义为
我的守则:
myStupidTup = ("test",10,"hmm",233,2,"am long string")
mySmartTup = ("test",10,233,2)
print(cmp(myStupidTup, mySmartTup)) 发布于 2020-12-10 13:31:00
cmp函数仅在Python 2.x中。正如正式Python文档中提到的
应该将
cmp()函数视为已消失,不再支持__cmp__()特殊方法。根据需要使用__lt__()进行排序、__eq__()和__hash__()以及其他丰富的比较。(如果您确实需要cmp()功能,可以使用表达式(a > b) - (a < b)作为cmp(a, b)的等效表达式。)
cmp在Python 3.x中的等效值是:
def cmp(a, b):
return (a > b) - (a < b) 注意:您的元组(myStupidTup和mySmartTup)不支持比较。如果您运行TypeError:TypeError: '>' not supported between instances of 'str' and 'int',您将得到它
https://stackoverflow.com/questions/65235441
复制相似问题