这期内容当中小编将会给大家带来有关怎么在Python项目中利用多属性实现排序,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
创新互联是一家集网站建设,清丰企业网站建设,清丰品牌网站建设,网站定制,清丰网站建设报价,网络营销,网络优化,清丰网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。Python 中 list.sort()
是列表中非常常用的排序函数, key 参数可以对单个属性进行排序。
但是想要实现类似 sql 中 order by id
, age 一样,对多个字段进行排序就不支持了。
py2 中 sort() 函数还有个 cmp 参数可以传入一个方法,可以自定义对多个属性进行排序,py3 中移除了这个字段。
py3 想要实现这个功能,需要使用 functools 模块中的方法,实例如下
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author: wxnacy(wxnacy@gmail.com) from functools import cmp_to_key def cmp_func(a, b): if a['id'] < b['id']: return -1 elif a['id'] > b['id']: return 1 if a['name'] < b['name']: return -1 elif a['name'] > b['name']: return 1 return 0 arr.sort(key=cmp_to_key(cmp_func))
上述就是小编为大家分享的怎么在Python项目中利用多属性实现排序了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。