python 字典 分别根据值或键进行排序的方法
最近经常遇到根据字母出现的频率进行排序的题目
我的思路一般是借用字典统计字母出现的频率
然后对字典按照值进行排序
但是每次按照值进行排序时
都会忘记排序方法
在此记录一下,以加深印象
字典原始值如下:
dic = {'Emily': 25, 'Dory':3, 'Yilia':2}
先记录根据值进行排序的方法,代码如下:
>>> dic_sort_by_values = sorted(dic.items(), key = lambda x: x[1])
>>> print(dic_sort_by_values)
[('Yilia', 2), ('Dory', 3), ('Emily', 25)]
逆序代码如下,需要增加一个 reverse= True的参数
>>> dic_sort_by_values = sorted(dic.items(), key = lambda x: x[1], reverse = True)
>>> print(dic_sort_by_values)
[('Emily', 25), ('Dory', 3), ('Yilia', 2)]
取前n个值代码如下,需要借用循环及计数器:
>>> required_count = 2
>>> res = []
>>> count = 0
>>> for k ,v in dic_sort_by_values:
count += 1
if count > required_count:
break
else:
print('{}:{}'.format(k, v)) Emily:25
Dory:3
根据键值进行排序的代码如下,两种排序方式返回的数据不同,一种仅返回键组成的列表,另外一种则返回由元组(k,v)组成的列表:
>>> dic_sort_by_keys = sorted(dic.keys())
>>> print(dic_sort_by_keys)
['Dory', 'Emily', 'Yilia']
>>> dic_sort_by_keys = sorted(dic.items(), key = lambda x: x[0])
>>> print(dic_sort_by_keys)
[('Dory', 3), ('Emily', 25), ('Yilia', 2)]
逆序代码如下,需要增加一个 reverse= True的参数
>>> dic_sort_by_keys = sorted(dic.items(), key = lambda x: x[0], reverse = True)
>>> print(dic_sort_by_keys)
[('Yilia', 2), ('Emily', 25), ('Dory', 3)]
python 字典 分别根据值或键进行排序的方法的更多相关文章
- python字典改变value值方法总结
今天这篇文章中我们来了解一下python之中的字典,在这文章之中我会对python字典修改进行说明,以及举例说明如何修改python字典内的值.我们开始进入文章吧. 首先我们得知道什么是修改字典 修改 ...
- python 字典中 重复值去除
tuple_r_dict = lambda _dict: dict(val[::-1] for val in _dict.items()) # Python3.x tuple_r_dict(tuple ...
- python字典设置初始值setdefault()与get()
L = ['you','me','you','me','you','me','you'] D = {} for i in L: D[i] += 1 print(D) 执行以下代码会发生错误 Trace ...
- Python字典中的值为列表或字典的构造方法
转自: https://blog.csdn.net/buside/article/details/81323871 1.值为列表的构造方法 dic = {} dic.setdefault(key,[] ...
- Python 字典的取值
不能用.取值 .是获取属性或方法 只能用中括号或者get方法 中括号和get中可以放字符串或者变量 get与[]的区别在于当key不存在,get不会报错,而且get可以设置取不到值时返回的默认值.
- python 字典有序无序及查找效率,hash表
刚学python的时候认为字典是无序,通过多次插入,如di = {}, 多次di['testkey']='testvalue' 这样测试来证明无序的.后来接触到了字典查找效率这个东西,查了一下,原来字 ...
- Python 字典 keys() 方法
描述 Python 字典 keys() 方法以列表形式(并非直接的列表,若要返回列表值还需调用list函数)返回字典中的所有的键. 语法 keys() 方法语法: D.keys() 参数 无. 返回值 ...
- [ Python入门教程 ] Python字典数据类型及基本操作
字典是Python中重要的数据类型,字典是由"键-值"对组成的集合,"键-值"对之间用逗号隔开,包含在一对花括号中.字典中的"值"通过&qu ...
- python 字典(dictionary)一些方法
1.python 字典(Dictionary) keys() 函数以列表返回一个字典所有的键. keys()语法: dict.keys() 2.setdefault()方法 python字典setde ...
随机推荐
- 【Linux】【Services】【SaaS】Docker+kubernetes(11. 构建复杂的高可用网络)
1. 简介 flannel在实战阶段貌似不能胜任在灾难恢复时候异地的网络,打算用openvswith试试
- Spring MVC入门(二)—— URI Builder模式
URI Builder Spring MVC作为一个web层框架,避免不了处理URI.URL等和HTTP协议相关的元素,因此它提供了非常好用.功能强大的URI Builder模式来完成,这就是本文重点 ...
- APiCloud - api对象
详见网址:https://www.cnblogs.com/jiqing9006/p/5919317.html
- 【力扣】两个数组的交集 II
给定两个数组,编写一个函数来计算它们的交集. 示例 1: 输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2,2]示例 2: 输入:nums1 = [4,9,5], nu ...
- python安装imblearn(PackageNotFoundError: ''Package missing in current channels")
1.imblearn包在anaconda中是没有的,需要在命令行下自行安装,以下两个命令任选一个: 1. conda install -c glemaitre imbalanced-learn2. p ...
- [BUUCTF]REVERSE——[GKCTF2020]BabyDriver
[GKCTF2020]BabyDriver 附件 步骤: 例行检查,64位程序,无壳 64位ida载入,检索程序里的字符串,看到提示flag是md5(input),下方还看到了类似迷宫的字符串 找到关 ...
- 【WP】【web】中学生CTF | web部分wp
$_GET 源码: <?php show_source(__FILE__); include 'config.php'; if(!isset($_GET['args'])){ die(); } ...
- CF1292B Aroma's Search 题解
Content 给定一个坐标系,已知第一个点的坐标为 \((x_0,y_0)\),第 \(i(i>0)\) 个点的坐标满足这样的两个递推式:\(x_i=a_xx_{i-1}+b_x,y_i=a_ ...
- Linq中常用语法
using System;using System.Collections.Generic;using System.ComponentModel.Design;using System.Linq;u ...
- outlook2007邮件里的图片显示不出来
outlook2007邮件里的图片显示不出来,这是为啥? 以图片为附件的形式进行传送吧,这样在收件箱里就能在线看图片了,不用担心看不到图片