python sort dict 总结
python中的dict是不能排序的,只有对dict的representation进行排序,例如list或者tuple
排序肯定会用到sorted函数,那么我们就来讲一下sorted函数。
sorted
- sorted(iterable,key,reverse)
iterable:表示可迭代的对象,例如dict.keys(), dict.items()
key:是一个函数,用来选择参与排序的元素
reverse:默认为False,从小到大排序,reverse=True,表示从大到小排序
按 key 排序
import operator
x = {1:2, 5:6, 3:4}
sorted_x = sorted(x.items(), key=operator.itemgetter(0))
# sorted_x = sorted(x.items(), key=operator.itemgetter(0), reverse=True)
itemgetter(0)表示取每项的第一个值,也就是键,来参与排序,默认是从小到大排序
结果 [(1, 2), (3, 4), (5, 6)]
按 value 排序
import operator
x = {1:2, 5:6, 3:4}
sorted_x = sorted(x.items(), key=operator.itemgetter(1))
itemgetter(1)表示取每项的值来排序
结果 [(1, 2), (3, 4), (5, 6)]
按 key 排序
def sortedDictValues1(adict):
items = adict.items()
items.sort()
return [value for key, value in items]
def sortedDictValues2(adict):
keys = adict.keys()
keys.sort()
return [dict[key] for key in keys]
def sortedDictValues3(adict):
keys = adict.keys()
keys.sort()
return map(adict.get, keys)
#一行语句搞定:
[(k,di[k]) for k in sorted(di.keys())]
按 value 排序
#还是一行搞定:
[ v for v in sorted(di.values())]
python sort dict 总结的更多相关文章
- Python中dict详解
from:http://www.cnblogs.com/yangyongzhi/archive/2012/09/17/2688326.html Python中dict详解 python3.0以上,pr ...
- python的dict,set,list,tuple应用详解
python的dict,set,list,tuple应用详解 本文深入剖析了python中dict,set,list,tuple应用及对应示例,有助于读者对其概念及原理的掌握.具体如下: 1.字典(d ...
- Python: sort,sorted,OrderedDict的用法
Python: sort,sorted,OrderedDict的用法 from http://stqdd.com/archives/427 by 莫亚菜 python对容器内数据的排序有两种,一种是容 ...
- Python中dict的特点、更新dict、遍历dict
dict的第一个特点是查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样.而list的查找速度随着元素增加而逐渐下降. 不过dict的查找速度快不是没有代价的,dict的缺点是占用内 ...
- python 字典 dict 该注意的一些操作
在用python处理dict 的时候,有几个该注意的地方,这里跟大家提一下: 1)操作dict 时,尽量少产生新的列表对象.比如: 遍历dict的时候,如果用 dic = {"a" ...
- python字典dict的增、删、改、查操作
## python字典dict的增.删.改.查操作dict = {'age': 18, 'name': 'jin', 'sex': 'male', }#增# dict['heigh'] = 185 # ...
- Python 字典 dict() 函数
描述 Python 字典 dict() 函数用于创建一个新的字典,用法与 Pyhon 字典 update() 方法相似. 语法 dict() 函数函数语法: dict(key/value) 参数说明: ...
- Python 基础 Dict 和 Set 类型
python 什么是dict 例如: d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 } 我们把名称称为key,对应的成绩称为value,dic就是通过key 来查找 ...
- python实现dict版图遍历
python实现dict版图遍历的示例. 代码: #_*_coding:utf_8_import sysimport osclass Graph(): def __init__(self, V, E) ...
随机推荐
- android开发笔记(一)Android studio 输入法
以前都是用的时候查资料做些增添即可,现在下决心系统学习下. 首先发现developer.Android.com在开发工具上开始推出了 Android Studio了,不过他自己没有sdk manage ...
- RHEL6.×配置Centos YUM源
Step1: 清除原有的yum源rpm -aq|grep yum|xargs rpm -e --nodeps Step2:下载新的yum()源进行安装,注意操作系统支持64位还是32位wget htt ...
- window 如何枚举设备并禁用该设备和启用该设备?如何注册设备热拔插消息通知?
目前实现的功能: 1.设备枚举 2.设置设备禁用和启用 3.注册设备热拔插消息通知 4.获取设备 vid pid 数值 需要链接的库 SetupAPI.lib DeviceManager 类如下: D ...
- System.ArgumentException: 字体“Courier New”不支持样式“Regular”。
使用MongoVUE,发现报错,报错信息如下: System.ArgumentException: 字体“Courier New”不支持样式“Regular”. 说明本机字体安装不够:需安装完整的Co ...
- Travel---hdu5441(并查集)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5441 题意:是有n个城市,m条边包含u v w:代表u到v的时间是w: 给q的时间x,求在x时间内Ja ...
- VUE的安装与Django之间打通数据
一 VUE的安装与项目创建 1.1.安装nodeJS 官网下载安装:https://nodejs.org/zh-cn/ 1.2.安装脚手架 vue官网 => 学习 => 教程 => ...
- java.math.BigDecimal
package day14; import java.math.BigDecimal; /** * Created by admin on 2018/11/24. * 看程序写结果:结果和我们想的有一 ...
- shell调用python脚本,并且向python脚本传递参数
1.shell调用python脚本,并且向python脚本传递参数: shell中: python test.py $para1 $para2 python中: import sys def main ...
- Android Studio下编译调试 ndk 的示例
https://github.com/googlesamples/android-ndk https://github.com/googlesamples android studio 手动安装cma ...
- 【MYSQL】主从常见问题运维
参见Mysql主从常见错误,http://hzcsky.blog.51cto.com/1560073/479476