Chinaunix首页 | 论坛 | 博客
  • 博客访问: 448152
  • 博文数量: 141
  • 博客积分: 211
  • 博客等级: 入伍新兵
  • 技术积分: 1049
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-17 16:25
个人简介

如此经年,望尽千帆。

文章分类

全部博文(141)

文章存档

2014年(73)

2013年(65)

2012年(3)

我的朋友

分类: Python/Ruby

2014-06-30 16:49:03

字典多条件排序方法实例,分别使用lambda和itemgetter实现。

项目编写过程中,总能遇见对字典进行排序什么的,如果要实现多条件排序只需要下面几行代码实现。
充分体现了python的好处了。

  1. teamitems = [{'team':'France' , 'P':1 , 'GD':-3 , 'GS':1 , 'GA':4},
  2.             {'team':'Uruguay' , 'P':7 , 'GD':4 , 'GS':4 , 'GA':0},
  3.             {'team':'SouthAfrica' , 'P':4 , 'GD':-2 , 'GS':3 , 'GA':5},
  4.             {'team':'Mexico' , 'P':4 , 'GD':1 , 'GS':3 , 'GA':2}]
  5. print sorted(teamitems ,key = lambda x:(x['P'],x['GD'],x['GS'],x['GA']),reverse=True)
以上代码()实现了 按‘P',‘GD' ,‘GS' ,'GA' 四条件排序,reverse=True 表示降序
当然还可以

  1. from operator import itemgetter
  2. print sorted(teamitems ,key = itemgetter('P','GD','GS','GA'),reverse=True)
阅读(1674) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~