Python 字典排序

在python里,字典是内置的数据类型,是个无序的存储结构,每一个元素是key-value对:

有关key的解释:

sorted(L,key=by_name)中的key即by_name函数处理的是L这个列表
的每个元素,所以by_name(t)的参数t就是L中的一个元素,
比如说('Lili',75)。所以return t[0]返回的是这个元组的第一个元素,
即名字Lili
>>> d
{9: 'xinzhou', 3: 'chen', 5: 'wuhan', 1: 'yadan'} >>> ss=sorted(d.items(),key=lambda d:d[0])            #主要看这里
>>> ss
[(1, 'yadan'), (3, 'chen'), (5, 'wuhan'), (9, 'xinzhou')]
>>> d
{9: 'xinzhou', 3: 'chen', 5: 'wuhan', 1: 'yadan'} >>> sss=sorted(d.items(),key=lambda d:d[1])
>>> sss
[(3, 'chen'), (5, 'wuhan'), (9, 'xinzhou'), (1, 'yadan')]
>>> sss=sorted(d.items(),key=lambda d:d[1],reverse=True)    #主要看这里 >>> sss
[(1, 'yadan'), (9, 'xinzhou'), (5, 'wuhan'), (3, 'chen')]
>>> sss=sorted(d.items(),key=lambda d:d[1],reverse=False) >>> sss
[(3, 'chen'), (5, 'wuhan'), (9, 'xinzhou'), (1, 'yadan')]
dict1={'A': 9, 'C': 5, 'B': 1, 'E': 14, 'D': 3, 'G': 3, 'F': 3, 'I': 9, 'H': 7, 'J': 1, 'L': 2, 'O': 8, 'N': 3, 'P': 4, 'S': 10, 'R': 5, 'U': 1, 'T': 17, 'W': 1, 'V': 1}
#对字典按值排序,以元组的形式返回
print sorted(dict1.iteritems(),key=lambda dict1:dict1[1],reverse=True)
#对字典按键排序,以元组的形式返回
print sorted(dict1.iteritems(),key=lambda dict1:dict1[0],reverse=False)

参考下其他类型的排序:(估计python2)

>>> student_tuples = [
('john', 'A', 15),
('jane', 'B', 12),
('dave', 'B', 10),
]
>>> sorted(student_tuples, key=lambda student: student[2]) # sort by age
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]

例如:

>>> a=[(5,"chen"),(3,"hang"),(7,"wang"),(4,"yadan")]
>>> a
[(5, 'chen'), (3, 'hang'), (7, 'wang'), (4, 'yadan')]
>>> aa=sorted(a,key=lambda a:a[0],reverse=False)
>>> aa
[(3, 'hang'), (4, 'yadan'), (5, 'chen'), (7, 'wang')]
>>> aaa=sorted(a,key=lambda a:a[1],reverse=False)
>>> aaa
[(5, 'chen'), (3, 'hang'), (7, 'wang'), (4, 'yadan')]

dd

Python 字典排序

在python里,字典是内置的数据类型,是个无序的存储结构,每一个元素是key-value对:

dict1={'A': 9, 'C': 5, 'B': 1, 'E': 14, 'D': 3, 'G': 3, 'F': 3, 'I': 9, 'H': 7, 'J': 1, 'L': 2, 'O': 8, 'N': 3, 'P': 4, 'S': 10, 'R': 5, 'U': 1, 'T': 17, 'W': 1, 'V': 1}
#对字典按值排序,以元组的形式返回
print sorted(dict1.iteritems(),key=lambda dict1:dict1[1],reverse=True)
#对字典按键排序,以元组的形式返回
print sorted(dict1.iteritems(),key=lambda dict1:dict1[0],reverse=False)

python的sorted相关的更多相关文章

  1. Python: sort,sorted,OrderedDict的用法

    Python: sort,sorted,OrderedDict的用法 from http://stqdd.com/archives/427 by 莫亚菜 python对容器内数据的排序有两种,一种是容 ...

  2. Python中sorted()方法

    Python中sorted()方法的用法 1.先说一下iterable,中文意思是迭代器. Python的帮助文档中对iterable的解释是:iteralbe指的是能够一次返回它的一个成员的对象.i ...

  3. python基础——sorted()函数

    python基础——sorted()函数 排序算法 排序也是在程序中经常用到的算法.无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小.如果是数字,我们可以直接比较,但如果是字符串或者两个d ...

  4. 【Python】 sorted函数

    我们需要对List.Dict进行排序,Python提供了两个方法对给定的List L进行排序,方法1.用List的成员函数sort进行排序,在本地进行排序,不返回副本方法2.用built-in函数so ...

  5. NLP︱高级词向量表达(一)——GloVe(理论、相关测评结果、R&python实现、相关应用)

    有很多改进版的word2vec,但是目前还是word2vec最流行,但是Glove也有很多在提及,笔者在自己实验的时候,发现Glove也还是有很多优点以及可以深入研究对比的地方的,所以对其进行了一定的 ...

  6. Python字符串的相关操作

    1.大小写转换 判断字符串 s.isalnum() #所有字符都是数字或者字母 s.isalpha() #所有字符都是字母 s.isdigit() #所有字符都是数字 s.islower() #所有字 ...

  7. python中sorted()和set()去重,排序

    前言 在看一个聊天机器人的神经网络模型训练前准备训练数据,需要对训练材料做处理(转化成张量)需要先提炼词干,然后对词干做去重和排序 words = sorted(list(set(words))) 对 ...

  8. [转].Python中sorted函数的用法

    [Python] sorted函数 我们需要对List.Dict进行排序,Python提供了两个方法对给定的List L进行排序,方法1.用List的成员函数sort进行排序,在本地进行排序,不返回副 ...

  9. Python中sorted()方法的用法

    Python中sorted()方法的用法 2012-12-24 22:01:14|  分类: Python |字号 订阅 1.先说一下iterable,中文意思是迭代器. Python的帮助文档中对i ...

随机推荐

  1. Java 中 StringBuilder 在高性能用法总结

    关于StringBuilder,一般同学只简单记住了,字符串拼接要用StringBuilder,不要用+,也不要用StringBuffer,然后性能就是最好的了,真的吗吗吗吗? 还有些同学,还听过三句 ...

  2. memkeys 安装时遇到的问题及解决办法

    某天由于某需要,安装tumblr的开源工具memkeys .但还是一如既往地不是一帆风顺. 在./configure 时出现如下错误信息: configure.in:14: error: possib ...

  3. js中正则表达式的使用

    1,作用:匹配一个字符串中的一些内容2,声明和使用: 1),构造函数 var reg=new RegExp(/表达式/) 2),字面量 var reg=/表达式/ 推荐使用 eg: var reg=/ ...

  4. 3Dmax导出fbx文件缺失纹理问题

  5. C primer plus 读书笔记第十章

    这一章的标题是数组和指针.指针是C语言的精髓所在,而数组的概念和指针又息息相关,所以放在一起讲. 1.数组 主要内容有:1.1.数组初始化.1.2.指定初始化.1.3.数组赋值.1.4.数组边界.1. ...

  6. hdu 1180 诡异的楼梯 (bfs)

    诡异的楼梯 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others) Total Sub ...

  7. HTML5之选择上传图片文件

  8. GIT学习(一)-->Git产生的历史原因

    首先要说:Git是目前世界上最先进的分布式版本控制系统(没有之一). git的作者:Linus,林纳斯(下图就是,先膜拜一下,因为成就可不止这一点) 他是为何要写git的呢?话说 Linus虽然创建了 ...

  9. 【转】UITextView 修改键盘 的return按钮

    原文:http://www.apkbus.com/blog-107838-45740.html 1 #import <UIKit/UIKit.h>2 3 @interface TextVi ...

  10. Xcode7新特性

    更新Xcode7之后报错: Assertion failure in -[UIApplication _runWithMainScene:transitionContext:completion:], ...