Python cmp_to_key函数直接比较大小的问题

博客介绍了在Python中利用自定义函数的返回值进行排序,有-1、0、1三个返回值对应不同排序情况。若在自定义cmp函数里直接比较而非相减,只会返回0或1,无法改变排序,还可通过返回-1实现类似C++里cmp的逻辑。

首先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的逻辑。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值