Python 3.5 中 cmp() 函数已被彻底移除,应使用比较运算符或 functools.cmp_to_key() 替代;自定义排序优先用 key 参数,类比较需实现 lt__、__eq 等富比较方法。

Python 3.5 中 没有 cmp() 函数,它在 Python 3.0 就被彻底移除了。
官方明确说明:cmp() 函数应被视为“已消失”,__cmp__() 特殊方法也不再支持。
所以你不能直接写 cmp(a, b),会报错:
>>> cmp(1, 2) NameError: name 'cmp' is not found
登录后复制
替代方案:用比较运算符或 functools.cmp_to_key
✅ 推荐方式:用 functools.cmp_to_key() 配合 sorted() 或 list.sort()
如果你原本想用 cmp 做自定义排序(比如按绝对值、按字符串长度、按多条件),现在要改写成「返回布尔逻辑」的 key 函数,或用 cmp_to_key 包装旧式比较逻辑。
立即学习“Python免费学习笔记(深入)”;
例如,按绝对值升序排序:
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~