Python实现字典依据value排序
具体内容如下:
使用sorted将字典按照其value大小排序
>>> record = {'a':89, 'b':86, 'c':99, 'd':100} >>> sorted(record.items(), key=lambda x:x[1]) [('b', 86), ('a', 89), ('c', 99), ('d', 100)]
sorted第一个参数要可迭代,可以为tuple, list
>>> items = [(1, 'B'), (1, 'A'), (2, 'A'), (0, 'B'), (0, 'a')] >>> sorted(items) [(0, 'B'), (0, 'a'), (1, 'A'), (1, 'B'), (2, 'A')]
为什么(0, 'B')在(0, 'a')前面?
因为ASCII码中大写字母排在在小写字母前面,使用str.lower()方法改变其顺序
>>> sorted(items, key=lambda x:(x[0], x[1].lower()))
[(0, 'a'), (0, 'B'), (1, 'A'), (1, 'B'), (2, 'A')]
以上内容是关于Python实现字典依据value排序的相关知识,希望对大家有所帮助!
相关推荐
-
简单总结Python中序列与字典的相同和不同之处
共同点: 1.它们都是python的核心类型,是python语言自身的一部分 核心类型与非核心类型 多数核心类型可通过特定语法来生成其对象,比如"dave"就是创建字符串类型的对象的表达式: 非核心类型需要内置函数来创建,比如文件类型需要调用内置函数open()来创建. 类也可以理解成自定义的非核心类型. 2.边界检查都不允许超越索引边界 >>> a = 'dave' >>> a[3] 'e' >>> a[4] Traceback
-
python对字典进行排序实例
本文实例讲述了python对字典进行排序的方法,是非常实用的技巧.分享给大家供大家参考. 具体实现方法如下: import itertools thekeys = ['b','a','c'] thevalues = ['bbb','aaa','cccc'] d = dict(itertools.izip(thekeys,thevalues)) #创建字典 print d def sortedDictValue(adict): keys = adict.keys() keys.sort() ret
-
Python编程对列表中字典元素进行排序的方法详解
本文实例讲述了Python编程对列表中字典元素进行排序的方法.分享给大家供大家参考,具体如下: 内容目录: 1. 问题起源 2. 对列表中的字典元素排序 3. 对json进行比较(忽略列表中字典的顺序) 一.问题起源 json对象a,b a = '{"ROAD": [{"id": 123}, {"name": "no1"}]}' b = '{"ROAD": [{"name": "
-
Python有序字典简单实现方法示例
本文实例讲述了Python有序字典简单实现方法.分享给大家供大家参考,具体如下: 代码: # -*- coding: UTF-8 -*- import collections print 'Regular dictionary:' d = {} d['a'] = 'A' d['b'] = 'B' d['c'] = 'C' for k, v in d.items(): print k, v print '\nOrderedDict:' d = collections.OrderedDict() d
-
python模块简介之有序字典(OrderedDict)
有序字典-OrderedDict简介 示例 有序字典和通常字典类似,只是它可以记录元素插入其中的顺序,而一般字典是会以任意的顺序迭代的.参见下面的例子: import collections print 'Regular dictionary:' d = {} d['a'] = 'A' d['b'] = 'B' d['c'] = 'C' d['d'] = 'D' d['e'] = 'E' for k, v in d.items(): print k, v print '\nOrderedDict
-
Python常用的内置序列结构(列表、元组、字典)学习笔记
列表与元组 列表用大括号[]表示,元组用圆括号()表示. 列表可以修改,字符串与元组不可修改. 元组的分片还是元组,列表的分片还是列表. 1.列表方法: name=["zhang3","li4","wang5"] name.append("gou6") #添加项 name.remove("gou6") #移除第一个匹配项,也可用del name[3]来移除 name.insert(3,"gou6&
-
python 字典(dict)按键和值排序
python 字典(dict)的特点就是无序的,按照键(key)来提取相应值(value),如果我们需要字典按值排序的话,那可以用下面的方法来进行: 1 下面的是按照value的值从大到小的顺序来排序. dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0} dict= sorted(dic.items(), key=lambda d:d[1], reverse = True) print(dict) 输出的结果: [('aa', 74),
-
Python的collections模块中的OrderedDict有序字典
如同这个数据结构的名称所说的那样,它记录了每个键值对添加的顺序. d = OrderedDict() d['a'] = 1 d['b'] = 10 d['c'] = 8 for letter in d: print letter 输出: a b c 如果初始化的时候同时传入多个参数,它们的顺序是随机的,不会按照位置顺序存储. >>> d = OrderedDict(a=1, b=2, c=3) OrderedDict([('a', 1), ('c', 3), ('b', 2)]) 除了和
-
Python Trie树实现字典排序
一般语言都提供了按字典排序的API,比如跟微信公众平台对接时就需要用到字典排序.按字典排序有很多种算法,最容易想到的就是字符串搜索的方式,但这种方式实现起来很麻烦,性能也不太好.Trie树是一种很常用的树结构,它被广泛用于各个方面,比如字符串检索.中文分词.求字符串最长公共前缀和字典排序等等,而且在输入法中也能看到Trie树的身影. 什么是Trie树 Trie树通常又称为字典树.单词查找树或前缀树,是一种用于快速检索的多叉树结构.如图数字的字典是一个10叉树: 同理小写英文字母或大写英文字母的字
-
python字典排序实例详解
本文实例分析了python字典排序的方法.分享给大家供大家参考.具体如下: 1. 准备知识: 在python里,字典dictionary是内置的数据类型,是个无序的存储结构,每一元素是key-value对: 如:dict = {'username':'password','database':'master'},其中'username'和'database'是key,而'password'和'master'是value,可以通过d[key]获得对应值value的引用,但是不能通过value得到k
-
python3.0 字典key排序
IDLE 3.0 >>> dic = {"aa":1,"bb":2,"ab":3} >>> dic {'aa': 1, 'ab': 3, 'bb': 2} >>> for k in sorted(dic.keys()): print (k) aa ab ----------------------------------------------- 字典对象其实就是键-值对 下面是字典对象的添加
随机推荐
- php MsSql server时遇到的中文编码问题
- redis执行redis命令的方法教程
- JSON键值对序列化和反序列化解析
- JS面试题---关于算法台阶的问题
- 自制微信公众号一键排版工具
- javascript 系统文件夹文件操作及参数介绍
- MusicGet 类
- Android游戏开发:实现手势操作切换图片的实例
- JavaScript之Map和Set_动力节点Java学院整理
- jQuery实现新消息闪烁标题提示的方法
- sqlserver中将varchar类型转换为int型再进行排序的方法
- jquery封装插件时匿名函数形参和实参的写法解释
- JavaScript 使用技巧精萃(.net html
- Windows IIS配置Jsp和php环境方法
- 推荐:二次发现桃源网络硬盘漏洞
- Android利用Intent读取和更新通讯录
- Ajax中的JSON格式与php传输过程全面解析
- 用MOB实例开发实现短信验证功能
- vue动态改变背景图片demo分享
- 详解async/await 异步应用的常用场景