首先cmp_to_key利用你自己写的函数的返回值来排序,有三个值来排序:
-1,x < y(x,y相对顺序不变);
0,x=y(x,y相对顺序不变);
1,x > y(x,y相对顺序改变);
而如果在自己写的cmp函数里还是直接用比较而不是相减,只会返回0(False),1(True),永远不会改变排序。
那么也可以通过返回值-1的方式来实现c++里cmp的逻辑。
Python cmp_to_key函数直接比较大小的问题
最新推荐文章于 2024-07-24 12:43:07 发布
博客介绍了在Python中利用自定义函数的返回值进行排序,有-1、0、1三个返回值对应不同排序情况。若在自定义cmp函数里直接比较而非相减,只会返回0或1,无法改变排序,还可通过返回-1实现类似C++里cmp的逻辑。

248

被折叠的 条评论
为什么被折叠?



