python字典多条件排序方法实例

yipeiwu_com7年前Python基础

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

复制代码 代码如下:

teamitems = [{'team':'France'     , 'P':1 , 'GD':-3 , 'GS':1 , 'GA':4},
            {'team':'Uruguay'     , 'P':7 , 'GD':4  , 'GS':4 , 'GA':0},
            {'team':'SouthAfrica' , 'P':4 , 'GD':-2 , 'GS':3 , 'GA':5},
            {'team':'Mexico'      , 'P':4 , 'GD':1  , 'GS':3 , 'GA':2}]

print sorted(teamitems ,key = lambda x:(x['P'],x['GD'],x['GS'],x['GA']),reverse=True)


以上代码实现了 按‘P',‘GD' ,‘GS' ,'GA' 四条件排序,reverse=True 表示降序

当然还可以

复制代码 代码如下:

from operator import itemgetter
print sorted(teamitems ,key = itemgetter('P','GD','GS','GA'),reverse=True)

相关文章

python绘图方法实例入门

本文实例讲述了python绘图方法。分享给大家供大家参考。具体如下: # -*- coding:utf-8 -*- import matplotlib.pyplot as plt d...

Python3.0中普通方法、类方法和静态方法的比较

一、语法区别 刚接触Python中的面向对象,对于类方法和静态方法难以区分,通过查找知乎、CSDN论坛,废了好大的劲思路才逐渐明朗,所以就总结顺便分享一下。 首先开始编辑代码 #...

python引入不同文件夹下的自定义模块方法

python引入不同文件夹下的自定义模块方法

初学Python,这个问题搞了我好久,现在来分享下我的解决思路,希望可以帮到大家。 先说下python引入模块的顺序:首先现在当前文件夹下查找,如果没有找到则查找Python系统变量中的...

为什么你还不懂得怎么使用Python协程

前言 从语法上来看,协程和生成器类似,都是定义体中包含yield关键字的函数。 yield在协程中的用法: 在协程中yield通常出现在表达式的右边,例如:datum = yiel...

简单的编程0基础下Python入门指引

简单的编程0基础下Python入门指引

 你曾经想知道计算机是如何工作的吗?尽管我们不能在一篇文章里面教会你所有的东西,但是可以通过学习如何写出你自己的程序来获得一个良好的开端。在这篇Python教程中,你将会学到计...