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】【Web】Nginx基础
1. 概念 1.1. 消息通知机制:同步synchronous,异步asynchronous 同步:等待对方返回信息 异步:被调用者通过状态.通知或回调通知调用者 状态:调用者每隔一段时间就需要检查一 ...
- 【Java 与数据库】JDBC中日期时间的处理技巧
JDBC中日期时间的处理技巧 详谈Java.util.Date和Java.sql.Date 基础知识 Java中用类java.util.Date对日期/时间做了封装,此类提供了对年.月.日.时.分.秒 ...
- java 整型
byte(1字节).short(2字节).int(4字节).long(16字节) java中前缀加上0b或者0B就可以写二进制数,前缀加上0就可以写八进制数,前缀加上0x或者0X就可以写十六进制数 一 ...
- 【HarmonyOS】【DevEco Studio】NOTE05:PageAbility生命周期的呈现
NOTE05:PageAbility生命周期的呈现 基本界面设置 创建Slice与对应xml BarAbilitySlice package com.example.myapplication.sli ...
- 根据注释生成xml和从nuget包中复制xml显示到swagger
生成xml到输出目录 从注释生成xml 在要生成xml的项目的csproj中添加如下代码, 生成的xml名称为项目名称.xml. 比如该项目叫做Abp.Application, 则xml名为 Abp. ...
- Java中的循环结构进阶
循环结构进阶 学习本章用到的单词 triangle:三角形 circle:圆形 diamond:钻石 password:密码 row:行.排列 二重循环结构 简单的说:二重循环就是一个循环体内又包含另 ...
- Linux服务器被黑 排查思路
目录 一.为何会被入侵? 二.排查 入侵排查 检查是否还存在被登陆可能 计划任务 被修改的文件 筛选日志 日志恢复 找到异常进程-1 找到异常进程-2 找到异常进程-3 找到异常进程-4 三.总结 一 ...
- shell脚本 阿里云基线检查一键配置
一.简介 源码地址 日期:2017/9/1 介绍:安全加固脚本,会符合阿里云基线检查.有幂等性,可重复执行 效果图: 二.使用 适用:centos6/7 语言:中文 注意:脚本是符合阿里云基线检查的配 ...
- Log4j漏洞源码分析
Log4j漏洞源码分析 这几天Log4j的问题消息满天飞,今天我们就一起来看看从源码角度看看这个漏洞是如何产生的. 大家都知道这次问题主要是由于Log4j中提供的jndi的功能. 具体涉及到的入口类是 ...
- 【dva】如何监听异步请求是否完成(页面loading)
方案1.你可以在model里面操作 在model里面的state里面声明一个变量state,默认是false,effect函数执行开始就将其改为true,然后等call()然后结束后又将其改为fals ...