如何根据字典中值的大小,对字典中的项排序
来源:互联网 发布:java兰陵王破解版 编辑:程序博客网 时间:2024/06/11 19:38
实际案例
某班英语成绩以字典形式存储为{‘Li’:79, ‘Jim’:88, ‘Lucy’:92, …},根据成绩高低,计算学生排名。
这里我们将利用内置函数sorted对学生的英语成绩排名。
方法一:
首先,我们利用zip()将字典转化为元组;然后,我们调用sorted函数对元组进行排序,代码如下:
# -*- coding: utf-8 -*-from random import randintstudent = {k: randint(0, 100) for k in "qazwsx"}# 将字典转为元组stu = zip(student.values(), student.keys())print sorted(stu)
其运行结果如下: [(1, 'x'), (3, 's'), (40, 'w'), (41, 'a'), (78, 'q'), (90, 'z')]
方法二:
我们利用sorted函数中key这个参数,对字典进行排序。看到这里有没有想起我们上一篇文章中根据值对字典的元素进行从大到小的排序呢?不错,这里我们将使用上一篇文章所使用的方法对字典排序,代码如下:
# -*- coding: utf-8 -*-from random import randintstudent = {k: randint(0, 100) for k in "qazwsx"}print sorted(student.items(), key=lambda v: v[1])
其运行结果如下: [('x', 1), ('s', 3), ('w', 40), ('a', 41), ('q', 78), ('z', 90)]
参数说明:
- items()可将字典中的每个键值对转换成一个一个的元组,并将这些元组组合成一个list。
- key值的传入,我们这里使用匿名函数lambda,利用这个函数,我们可以对字典进行按键、按值排序,即v[0]则为按键排序,v[1]则为按值排序。
简书个人主页:http://www.jianshu.com/u/766a46e00f6b
阅读全文
0 0
- 根据字典中值的大小对字典中的项排序
- python-2-3-如何根据字典中值的大小,对字典中的项排序?
- 如何根据字典中值的大小,对字典中的项排序
- 根据字典中值的大小,对字典的项排序
- Python高级编程-如何根据字典中值得大小,对字典中的项排序
- 2-4根据字典中值的大小,对字典中的项排序
- python根据字典中值的大小,对字典中的项排序
- python高效编程技巧4(如何根据字典中值的大小,对字典的项进行排序)
- 根据字典的值大小对字典进行排序
- <26>python学习笔记——根据字典中的值的大小进行排序
- 如何根据字典的键或值来排序
- 对python字典的排序
- 如何对Map进行字典排序Java
- 对python中的字典进行排序
- 对字典排序
- 对字典进行排序
- tensorflow对字典排序
- 根据字典对文本分词
- Java高并发,如何解决,什么方式解决
- Maven错误: 找不到或无法加载主类
- SpringMVC
- hdu3861
- SpringSercurity标签库的引用
- 如何根据字典中值的大小,对字典中的项排序
- 开启线程的方法
- opencv3.2.0+contrib+cmake3.9.0的编译
- TextView单行显示,文字左右滚动(走马灯效果)实现条件:
- for循环中的异步问题
- 从服务器获取json
- Codeforces Round #158 (Div. 2)D. Black and White Tree(搜索 + 思维)
- C++命名返回值优化
- OKHttp网络请求(get / post)