[00014]排序不支持原生比较的对象
来源:互联网 发布:php array sort 排序 编辑:程序博客网 时间:2024/05/29 12:11
排序不支持原生比较的对象
一、 解决问题
>排序类型相同的对象, 但是他们不是原生的数据类型
二、解决方案
函数: sorted()
说明:内置的 sorted() 函数有一个关键字参数 key ,可以传入一个 callable 对象给它,
这个callable 对象对每个传入的对象返回一个值,这个值会被 sorted 用来排序这些对象。
三、代码说明
#!/usr/bin/env pythonclass Student(object): def __init__(self, name, grade, age): self.name = name self.grade = grade self.age = age #当打印List的子元素的时候,其实是调用的__repr__()函数 def __repr__(self): return repr((self.name, self.grade, self.age))students = [ Student('jane', 'B', 12), Student('john', 'A', 12), Student('dave', 'B', 10)]from operator import attrgetter# 使用age进行排序 print (sorted(students, key=attrgetter('age')))#->[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 12)]print (sorted(students, key=lambda x: x.age))#-> [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 12)]
四、关联知识
快速通道:http://blog.csdn.net/qq_29883591/article/details/51615499
五、总结
同 [00014]
六、代码地址
github地址:https://github.com/weichen666/python_cookbook
目录/文件:first_selection/learn_sorted.py
七、参考
python中sort和sorted函数:http://blog.csdn.net/qq_29883591/article/details/51615499
0 0
- [00014]排序不支持原生比较的对象
- 对象的比较排序
- 对象的比较排序
- java 对象的排序 多字段比较 字符串排序
- Android原生浏览器不支持`
- 对象的比较,排序,重写equals(),compareTo(),hashCode()方法
- 对象的比较与排序:IComparable和IComparer接口
- 对象的比较与排序:IComparable和IComparer接口
- Java集合按照对象的某个属性进行比较排序
- Java 对象的比较,多个参数进行排序
- String对象后台排序比较
- Java数据结构和算法-简单排序(4-对象排序及几种排序的比较)
- 原生 JavaScript 和 jQuery 的优劣比较
- 自定义toolbar和原生toolbar的比较
- Tizen不支持原生应用开发
- safari 不支持RegExp对象的compile方法
- jquery1.9不支持browser对象的解决方案
- IE8不支持Object对象的解决方案
- jsp中使用外部CSS
- 更改安卓手机默认软件安装路径方法
- SpringMVC学习
- JVM学习笔记(四):Class文件结构
- 功能强大的Vitamio视频播放器的使用教程
- [00014]排序不支持原生比较的对象
- [BZOJ]1055: [HAOI2008]玩具取名 DP
- Android-贝塞尔曲线
- 【leetcode】112. Path Sum
- ELF文件-段和程序头
- derby spring mybatis 集成
- Android ViewFlipper 简单应用
- 奔驰车身类型编码
- Android 贝塞尔曲线的魅力