python3 list 自定义排序
python2 自定义排序
在python2中,我们可以使用cmp进行自定义排序,当时在python3中却取消了这个参数。
def cmp(x1, x2):
...
a.sort(cmp)
python3 自定义排序
参考 Masker的做法,可以使用以下方式进行自定义排序。
def cmp(x1, x2):
if x1['score'] != x2['score']: # 如果score不同
return x1['score'] < x2['score'] # 那么小的在前面
else: # 如果score相同
return x1['name'] < x2['name'] # 那么名字字典序小的在前面
# 注意这里默认score和name不会同时相同
import functools
a.sort(key=functools.cmp_to_key(cmp))
本文详细介绍了Python2和Python3中自定义排序的方法。在Python2中,通过cmp函数实现,而在Python3中则使用functools.cmp_to_key转换cmp函数为key参数。文章提供了具体示例,展示了如何根据元素的多个属性进行排序。
5837

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



