对python的字典的排序

对字典按键/按值排序,用元组列表的形式返回,同时使用lambda函数来进行;

sorted(iterable[, cmp[, key[, reverse]]]

iterable:是可迭代类型;
cmp:用于比较的函数,比较什么由key决定,有默认值,迭代集合中的一项;
key:用列表元素的某个属性和函数进行作为关键字,有默认值,迭代集合中的一项;
reverse:排序规则. reverse = True 或者 reverse = False,有默认值。
返回值:是一个经过排序的可迭代类型,与iterable一样。

如:
>>> d={“ok”:1,”no”:2}
对字典按键排序,用元组列表的形式返回
>>> sorted(d.items(), key=lambda d:d[0])
[(‘no’, 2), (‘ok’, 1)]
对字典按值排序,用元组列表的形式返回
>>> sorted(d.items(), key=lambda d:d[1],reverse=True)
[(‘no’, 2), (‘ok’, 1)]

时间: 2024-10-24 23:57:55

对python的字典的排序的相关文章

python 对字典"排序"

对字典进行排序?这其实是一个伪命题,搞清楚python字典的定义---字典本身默认以key的字符顺序输出显示---就像我们用的真实的字典一样,按照abcd字母的顺序排列,并且本质上各自没有先后关系,是一个哈希表的结构: 但实际应用中我们确实有这种排序的"需求"-----按照values的值"排序"输出,或者按照别的奇怪的顺序进行输出,我们只需要把字典转化成list或者tuple,把字典每一对键值转化为list中的两位子list或者子tuple再输出,就可以达到我们的

Python对列表中字典元素排序

问题起源 json对象a,b a = '{"ROAD": [{"id": 123}, {"name": "no1"}]}' b = '{"ROAD": [{"name": "no1"}, {"id": 123}]}' 特点:a,b对应的Python的对象中键对应的键值——列表中包含着相同的字典元素,但是唯一不同的是顺序不同.如果忽略顺序,如何判断两

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.i

Python中字典排序

如字典dic={'a':1,'f':2,'c':3,'h':0};要对其进行排序: 函数原型:sorted(dic,value,reverse); dic为比较函数; value为比较对象(键或值); reverse:注明升序还是降序,True--降序,False--升序(默认); 1 import operator; 2 # 字典中排序 3 def sortDict(): 4 dic={'a':1,'f':2,'c':3,'h':0}; 5 # 函数原型:sorted(dic,value,re

python字典的排序,按key排序和按value排序---sorted()

>>> d{'a': 5, 'c': 3, 'b': 4} >>> d.items()[('a', 5), ('c', 3), ('b', 4)] 字典的元素是成键值对出现的,字典的排序可用sorted,用关键字key指定排序依据的值--key或者value 按照值排序: #把d.items()所对应的列表的每个元祖的第二个元素(value)传到lambda函数进行排序>>> s=sorted(d.items(),key=lambda x:x[1])&

[python] 之 字典简介

字典是python中唯一的映射类型,其哈希值(键key)和指向对象(值value)是一对多的关系: 字典是可变对象,是容器类型,能存储任意个数,任意类型的映射类型,且包含在大括号中({key1:value, key2:value2, ...}): 字典中的数据类型是无序排列的. 一.创建字典 1.1 赋值创建 dict1 = {...} 1.2 工厂方法-dict() dict2 = dict((['x',1], ['y',2])) # {'x':1, 'y':2} 1.3 内建方法-fromk

按字典值排序--找出大小最大的十个文件

问题分析: 需要确认某路径下所有文件的大小 需要排序,找出最大的十个 以字典的形式保存数据 准备知识: operator模块: fun = operator.itemgetter(1), fun 是一个由operator.itemgetter(1) 返回的函数,当函数fun作用在某个对象时,返回被作用的对象的第1维的值.例如: lis = (6, 56) fun(lis) # 返回lis[1] 注意:operator.itemgetter(1) 并不返回值,返回的是函数,当函数作用在对象时,才会

漫谈python中的搜索/排序

在数据结构那一块,搜索有顺序查找/二分查找/hash查找,而排序有冒泡排序/选择排序/插入排序/归并排序/快速排序.如果遇到数据量和数组排列方式不同,基于时间复杂度的考虑,可能需要用到混合算法.如果用C语言自己写,是一个很头疼且门槛很高的过程,python却用很简单的方式,让这类算法人人可用. 排序的话,python采用了一个sort函数,这个函数用的是一个适应性强的.稳定的.自然的归并算法,名为timsort.而查找,用字典,时间复杂度可以降低到O(1),而字典的实现方式,则是利用了hash函

python里字典的用法介绍

一.什么是字典 字典是python里的一种数据类型,特点是元素的无序性,和键key的唯一性.字典的创建方法是{key:values},字典里的键key只能是不可变的数据类型(整型,字符串或者是元组),值values可以是任何数据类型.字典里的一组key:values叫做一个键值对item. 二.字典的基本操作 首先我们创建一个字典: a={'name':'tom','age':18,'sex':'male','height':'175cm'} b={'one':111,'name':'lisa'