Python 如何编写比较函数? def比较(a,b): """ 如果a>b,则返回1;如果a等于b,则返回0;如果a>>比较(5,7) 1. >>>比较(7,7) 0 >>>比较(2,3) -1 """
当它展平时,看起来像:Python 如何编写比较函数? def比较(a,b): """ 如果a>b,则返回1;如果a等于b,则返回0;如果a>>比较(5,7) 1. >>>比较(7,7) 0 >>>比较(2,3) -1 """,python,python-2.7,doctest,Python,Python 2.7,Doctest,当它展平时,看起来像: def compare(a, b): return 1 if a > b else 0 if a == b else -1 第一个解决方案是要走的路,记住这一点 还要注意的是,Python 2有一个cmp函数,它执行以下操作: def compare(a, b): if a > b: return 1 elif a == b: return 0 else: return -1
def compare(a, b):
return 1 if a > b else 0 if a == b else -1
第一个解决方案是要走的路,记住这一点
还要注意的是,Python 2有一个cmp
函数,它执行以下操作:
def compare(a, b):
if a > b:
return 1
elif a == b:
return 0
else:
return -1
然而,在Python 3中,
cmp
已经不存在了,因为它通常用于比较,例如列表。排序现在使用键
函数而不是cmp来进行,如果您编写比较函数以便将其传递给排序
,则您的示例是错误的,此做法已被弃用-改为编写一个键
函数,它既不弃用,也更快。另外请注意,此函数已作为内置的cmp
def compare(a, b):
return 1 if a > b else 0 if a == b else -1
def compare(a, b):
if a > b:
return 1
elif a == b:
return 0
else:
return -1
>>> cmp(5, 7)
-1