python 类属性排序_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))
上面的例子我们实现了 id 正序排序,如果 id 相同,则按照 age 正序排序
为了方便可以封装成一个方法,以供列表调用,封装的方法 demo 可以参见地址
总结
以上所述是小编给大家介绍的Python 使用多属性来进行排序,希望对大家有所帮助,如果大家有任何疑问欢迎给大家留言,小编会及时回复大家的!
python 类属性排序_Python 使用多属性来进行排序相关推荐
- python 类属性排序_Python实现多属性排序的方法
多属性排序: 把需要排序的属性拿出来作为一个 tuple,主要的放前面,次要的放后面. 假如某对象有n个属性,那么先按某规则对属性a进行排序,在属性a相等的情况下再按某规则对属性b进行排序,以此类推. ...
- python程序实例讲解_Python编程之属性和方法实例详解
本文实例讲述了Python编程中属性和方法使用技巧.分享给大家供大家参考.具体分析如下: 一.属性 在python中,属性分为公有属性和私有属性,公有属性可以在类的外部调用,私有属性不能在类的外部调用 ...
- python中类方法可以访问实例属性吗_Python类方法访问属性
Python类方法访问属性教程 Python 中的 Python实例方法访问属性详解 语法 class People: money = 10000 def __init__(self, name): ...
- python类的命名空间_Python之关于类变量的两种赋值区别详解
我就废话不多说了,还是直接看代码吧! # -*- coding:utf-8 -*- #面试题,写一个方法,将一行字符串中所有的单词数量统计出来 class Person(object): TAG = ...
- python类详解_python面向对象编程:python类和实例讲解
东尧爱分享 这是东尧每天一篇文章的第51天 东尧写文章的目标:分享东尧的经验和思考,帮你获取物质和精神两方面幸福. 1 什么是对象 在python里面,一切皆为对象.也就是说python里的所有数据都 ...
- python类和对象_Python类和对象
python类和对象 Python is an object-oriented programming language. Python Classes and Objects are the cor ...
- python类继承实例_Python实现类继承实例
Python是一种解释型.面向对象.动态数据类型的高级程序设计语言,本文就举一例Python类继承的实例. 实例代码如下: #! /usr/bin/python # Filename: inherit ...
- python list排序_Python中字符串List按照长度排序
下面看下字符串List按照长度排序(python)的实现方法 myList = ['青海省','内蒙古自治区','西藏自治区','新疆维吾尔自治区','广西壮族自治区'] 1.首先得到每个字符串长度 ...
- python类继承实例_python类继承与子类实例初始化用法分析
这篇文章主要介绍了python类继承与子类实例初始化用法,实例分析了Python类的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下 [ 先贴参考书籍原文(中文英文对照)] __init__方法介 ...
- python字典按照key排序_python中字典按key值排序的实现方法
之前小编介绍了字典本身不可排序,但按值可以,小编也介绍了按value值排序的三种方法.sorted()函数可以对数字或字符串进行排序,按key排序只是输出的key值的排序列表,使用sorted()函数 ...
最新文章
- JAVA基础4-循环语句
- 使用迁移学习不断的自我纠正神经网络
- webservice axis1.4生成客户端
- 144.⑨要写信(错排公式与高精度练习)
- 一个简单的Angular search UI实现
- python两列数据相关性_使用.corr获取两列之间的相关性
- SQL Server外键中的DELETE CASCADE和UPDATE CASCADE
- 进击的 Flink:网易云音乐实时数仓建设实践
- 一个能拖动,能调整大小,能更新bind值的vue指令-vuedragx
- 雅虎Yahoo 前段优化 14条军规
- js判断IE内核,IE浏览器版本
- 软件著作权登记申请容易通过吗?软著申请成功率高吗?
- 测试所用的技术(黑盒、白盒测试等)
- c语言未定义main报错,C语言编译器的错误信息
- 淘宝618列车喵币自动做任务app 懒人一键安装包
- 计算机铃声在线使用方法,史上最全的iPhone自定义铃声教程 无需电脑也能搞定 小白必看!...
- 如何重置计算机服务到默认状态,电脑慢到让人抓狂?教你如何将Windows10还原到出厂设置...
- 火狐书签备份_备份和还原Firefox密码列表
- OC正式协议和非正式协议
- 与基础事务管理器的通信失败 存货申请_图文并茂讲解分布式事务的实现原理...