Python字典按值排序、包含字典的列表按字典值排序的方法

#-*- encoding=utf-8 -*-

import operator

#按字典值排序(默认为升序)

x = {1:2, 3:4, 4:3, 2:1, 0:0}

sorted_x = sorted(x.iteritems(), key=operator.itemgetter(1))

print sorted_x

#[(0, 0), (2, 1), (1, 2), (4, 3), (3, 4)]

#如果要降序排序,可以指定reverse=True

sorted_x = sorted(x.iteritems(), key=operator.itemgetter(1), reverse=True)

print sorted_x

#[(3, 4), (4, 3), (1, 2), (2, 1), (0, 0)]

#或者直接使用list的reverse方法将sorted_x顺序反转

#sorted_x.reverse()

#取代方法是,用lambda表达式

sorted_x = sorted(x.iteritems(), key=lambda x : x[1])

print sorted_x

#[(0, 0), (2, 1), (1, 2), (4, 3), (3, 4)]

sorted_x = sorted(x.iteritems(), key=lambda x : x[1], reverse=True)

print sorted_x

#[(3, 4), (4, 3), (1, 2), (2, 1), (0, 0)]

#包含字典dict的列表list的排序方法与dict的排序类似,如下:

x = [{‘name‘:‘Homer‘, ‘age‘:39}, {‘name‘:‘Bart‘, ‘age‘:10}]

sorted_x = sorted(x, key=operator.itemgetter(‘name‘))

print sorted_x

#[{‘age‘: 10, ‘name‘: ‘Bart‘}, {‘age‘: 39, ‘name‘: ‘Homer‘}]

sorted_x = sorted(x, key=operator.itemgetter(‘name‘), reverse=True)

print sorted_x

#[{‘age‘: 39, ‘name‘: ‘Homer‘}, {‘age‘: 10, ‘name‘: ‘Bart‘}]

sorted_x = sorted(x, key=lambda x : x[‘name‘])

print sorted_x

#[{‘age‘: 10, ‘name‘: ‘Bart‘}, {‘age‘: 39, ‘name‘: ‘Homer‘}]

sorted_x = sorted(x, key=lambda x : x[‘name‘], reverse=True)

print sorted_x

#[{‘age‘: 39, ‘name‘: ‘Homer‘}, {‘age‘: 10, ‘name‘: ‘Bart‘}]

时间: 2024-10-20 01:19:33

Python字典按值排序、包含字典的列表按字典值排序的方法的相关文章

jquery选择器多值情况处理(取select列表选项的值)

//多个同名的select值 var s=$("select[name=dutylistall]"); var dutylistall=""; s.each(function(i,el){ //console.info(i); //console.info(el); //console.info($(el).find("option:selected").val()); if(i!=0){ dutylistall+=",";

python开发学习-day02(元组、字符串、列表、字典深入)

s12-20160109-day02 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* BLOCKS =============================================================================*/ p, blockquote, ul, ol, dl, table, pre { margin

python基础(序列,元祖,列表,字典,对象,类)

1.标准的序列操作: 索引.分片.乘法.判断成员资格.求长度.取最大值和最小值 2.python之删除命令的区别: >>> x ['or', 'not', 'to', 'be', 'or', 'be'] del:删除指定索引的值 >>> del x[0] >>> x ['not', 'to', 'be', 'or', 'be'] pop:默认删除最后一个值 >>> x.pop() 'be' >>> x ['not',

Python中几种数据结构的整理,列表、字典、元组、集合

列表:shoplist = ['apple', 'mango', 'carrot', 'banana']字典:di = {'a':123,'b':'something'}集合:jihe = {'apple','pear','apple'}元组: t = 123,456,'hello' 1.列表    空列表:a=[]    函数方法:a.append(3)      >>>[3]              a.extend([3,4,5])     >>>[3,3,4,

(四)Python中的“四大才子”(字符串、列表、字典、集合)

前戏:在python中把数据序列分为可变(mutable)和不可变(immutable)两种 不可变:string.int.float.tuple 特点:相同对象只是占用一个内存地址,不管有多少个变量引用它,例如a=1,b=1 由于是不可变的,每次必须创建新的对象,之前不用的对象如果没有引用指向它,Python垃圾回收机制会自动清理掉 可变:list.dict 特点:相同对象,每次引用它都会在内存中开辟一块新地址来保存它,但是当我们对他的值进行操作时,内存地址是不会发生变化的 总结:python

Python排序,针对列表,字典

Python的内部容器,大概分为:tuple,set,list,dict,就排序来说,对列表和字典的排序需求较多,tuple主要作为不可变容器,set用来去重复,下面把list和dict常见排序方法总结一下: 一.列表 1. list排序很简单,主要看list的元素组成,如果元素是由单值组成,比如下面的方法: >>> a = [1,2,5,3,4] >>> a.sort() >>> print a [1, 2, 3, 4, 5] list本身自带sor

2.python基础深入(元组、字符串、列表、字典)

一,对象与类 对象: python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,玩的手机就是对象. 我们通过描述属性(特征)和行为来描述一个对象的. 在python中,一个对象的特征也称为属性(attribute).它所具有的行为也称为方法(method) 结论:对象=属性+方法 在python中,把具有相同属性和方法的对象归为一个类(class) 比如人类,动物,植物等等,这些都是类的概念. 类是对象的模板或蓝图,类是对象的抽象化,对象是类的实例化.类不代表具体的事物,而对

python学习笔记3:基础(元组、字符串、列表、字典)

参考文档:http://www.cnblogs.com/liu-yao/p/5145876.html 一,对象与类 对象: python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,玩的手机就是对象. 我们通过描述属性(特征)和行为来描述一个对象的. 在python中,一个对象的特征也称为属性(attribute).它所具有的行为也称为方法(method) 结论:对象=属性+方法 在python中,把具有相同属性和方法的对象归为一个类(class) 比如人类,动物,植物等等,

【八】列表、字典、集合、元组间的数据类型转换总结

一:列表:list[] 增 In [125]: a=[] #新增方法1 In [126]: a.append("hello") In [127]: a Out[127]: ['hello'] #新增方法2 In [128]: a.insert(0,"huahua") In [129]: a Out[129]: ['huahua', 'hello'] 删 In [131]: a Out[131]: ['huahua', 'hello'] #删除方法1 In [132]

递归/匿名函数/三元表达式/列表生成式/字典生成式/二分算法

让在下揭开尔等的面纱,一探究竟:) >>>递归: 递归是一个往复的过程,也就是由两个过程组成,一个是计算过程,一个是将值层层返回的过程,递归的奇妙之处,就在于自身调用自身,然后,过程遵循由复杂到简单,最终满足相应条件后,退出,返回结果.说了一大堆,不过直接上代码: test_list = [1,[2,[3,[4,[5,[6,[7,[8,[9,[10,[11,[12,[13,[14,]]]]]]]]]]]]]] res = 0 def sum_list(test_list, res): f