student_tuples = [('john', 'A', 15),('jane', 'B', 12),('dave', 'B', 10)] print "1:",sorted(student_tuples, key=itemgetter(2)) ## 按第三个元素排序 print "2:",sorted(student_tuples, key=itemgetter(1,2)) ## 先按第二个元素,如相同,再按第三个元素排序 print "3:",sorted(student_tuples, key=itemgetter(2), reverse=True) ## 按第三个元素倒序 class Student: def __init__(self, name, grade, age): self.name = name self.grade = grade self.age = age def __repr__(self): return repr((self.name, self.grade, self.age)) student_objects = [Student('john', 'A', 15),Student('jane', 'B', 12),Student('dave', 'B', 10)] print "4:",sorted(student_objects, key=attrgetter('age')) ## 按类Student()里面的年龄排序 print "5:",sorted(student_objects, key=lambda student: student.age) ## 同上 print "6:",sorted(student_tuples, key=lambda student: student[2]) ## 效果同上。不同的是上面的例子用属性,这个用下标 print "7:",sorted(student_objects, key=attrgetter('grade', 'age')) ## 先按类Student()里面的年级排序,如相同,在按类Student()里面的年龄排序 print "8:",sorted(student_objects, key=attrgetter('age'), reverse=True) ## 按类Student()里面的年龄倒序 ## 先按年龄排序,再按成绩排序 s=sorted(student_objects,key=attrgetter('age')) print "9:",sorted(s,key=attrgetter('grade'),reverse=True) ## 按第一个元素排序,如果第一个元素相同,保持之前的先后顺序 data = [('red', 1), ('blue', 1), ('red', 2), ('blue', 2)] print "10:",sorted(data, key=itemgetter(0)) ## 结果 ## 1: [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)] ## 2: [('john', 'A', 15), ('dave', 'B', 10), ('jane', 'B', 12)] ## 3: [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)] ## 4: [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)] ## 5: [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)] ## 6: [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)] ## 7: [('john', 'A', 15), ('dave', 'B', 10), ('jane', 'B', 12)] ## 8: [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)] ## 9: [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)] ## 10: [('blue', 1), ('blue', 2), ('red', 1), ('red', 2)]
python 排序归纳
原创
©著作权归作者所有:来自51CTO博客作者ohgenlong的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
排序算法之计数排序的优化
排序算法之计数排序的优化
数组 计数排序 最小值 -
归纳法@完全归纳@不完全归纳
## 归纳法## 完全归纳法### 例### 形式化描述## 不完全归纳法### 例
数学 分类讨论 推理方法 归纳推理 -
技术归纳
1.mysql优化【重点】【精通此业
技术归纳 php 缓存 mysql -
归纳方法
归纳法, 穆勒五法, 概率统计法, 类比法等的方法介绍
类比法 概率统计 穆勒五法 不完全归纳 完全归纳