码迷,mamicode.com
首页 > 编程语言 > 详细

python中的排序

时间:2015-08-27 19:03:20      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:python   数据库   开发   网站   

开发中经常遇到排序的事,汇总到此博文中,用以备忘。

一、字典排序

字典是没有顺序的,将字典排序,经常是将字典转换成一个列表,字典的键和值放到一个元组或列表里。比如对以下字典排序。

  >>> adict = {‘c‘: 5, ‘b‘: 3,‘a‘: 9,‘d‘: 0}
  >>> sorted(adict.items(),key=lambda x:x[1]) # 将adict按值的大小排序
 [(‘d‘, 0), (‘b‘, 3), (‘c‘, 5), (‘a‘, 9)]
 #倒序排列
 >>> sorted(adict.items(),key=lambda x:x[1], reverse=True)
[(‘a‘, 9), (‘c‘, 5), (‘b‘, 3), (‘d‘, 0)]


二、类实例排序

    自定义类按照某个属性排序,这个很有用,比如网站一个列表页,按照某些列进行排序。对查询结果排序,要比在数据库里排序性能好很多。

    有一个自定义的类名为Host。Host中有个cpu_percent属性。要求按cpu_percent倒序排列。数据库中查询出所有对象,得到数据集为Hosts

hosts = Host.objects.all()
sorted(hosts , key=lambda host: host.cpu_percent, reverse=True)

    

本文出自 “烛影摇红” 博客,请务必保留此出处http://gccmx.blog.51cto.com/479381/1688980

python中的排序

标签:python   数据库   开发   网站   

原文地址:http://gccmx.blog.51cto.com/479381/1688980

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!