最近经常遇到根据字母出现的频率进行排序的题目

我的思路一般是借用字典统计字母出现的频率

然后对字典按照值进行排序

但是每次按照值进行排序时

都会忘记排序方法

在此记录一下,以加深印象

字典原始值如下:

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 字典 分别根据值或键进行排序的方法的更多相关文章

  1. python字典改变value值方法总结

    今天这篇文章中我们来了解一下python之中的字典,在这文章之中我会对python字典修改进行说明,以及举例说明如何修改python字典内的值.我们开始进入文章吧. 首先我们得知道什么是修改字典 修改 ...

  2. python 字典中 重复值去除

    tuple_r_dict = lambda _dict: dict(val[::-1] for val in _dict.items()) # Python3.x tuple_r_dict(tuple ...

  3. python字典设置初始值setdefault()与get()

    L = ['you','me','you','me','you','me','you'] D = {} for i in L: D[i] += 1 print(D) 执行以下代码会发生错误 Trace ...

  4. Python字典中的值为列表或字典的构造方法

    转自: https://blog.csdn.net/buside/article/details/81323871 1.值为列表的构造方法 dic = {} dic.setdefault(key,[] ...

  5. Python 字典的取值

    不能用.取值 .是获取属性或方法 只能用中括号或者get方法 中括号和get中可以放字符串或者变量 get与[]的区别在于当key不存在,get不会报错,而且get可以设置取不到值时返回的默认值.

  6. python 字典有序无序及查找效率,hash表

    刚学python的时候认为字典是无序,通过多次插入,如di = {}, 多次di['testkey']='testvalue' 这样测试来证明无序的.后来接触到了字典查找效率这个东西,查了一下,原来字 ...

  7. Python 字典 keys() 方法

    描述 Python 字典 keys() 方法以列表形式(并非直接的列表,若要返回列表值还需调用list函数)返回字典中的所有的键. 语法 keys() 方法语法: D.keys() 参数 无. 返回值 ...

  8. [ Python入门教程 ] Python字典数据类型及基本操作

    字典是Python中重要的数据类型,字典是由"键-值"对组成的集合,"键-值"对之间用逗号隔开,包含在一对花括号中.字典中的"值"通过&qu ...

  9. python 字典(dictionary)一些方法

    1.python 字典(Dictionary) keys() 函数以列表返回一个字典所有的键. keys()语法: dict.keys() 2.setdefault()方法 python字典setde ...

随机推荐

  1. sqlserver 各种判断是否存在(表、视图、函数、存储过程等)

    1.判断表是否存在 select * from sysobjects where id = object_id(表名) and OBJECTPROPERTY(id, N'IsUserTable') = ...

  2. 拷贝txt文本中的某行的数据到excel中

    package com.hope.day01;import java.io.*;import java.util.ArrayList;public class HelloWorld {    publ ...

  3. Linux下安装chrome

    目录 一.Centos系列 二.Ubuntu系列 一.Centos系列 1.配置yum下载源 vim /etc/yum.repos.d/chrome.repo [google-chrome] name ...

  4. Explain的详细使用

    官方文档 https://dev.mysql.com/doc/refman/5.7/en/explain-output.html explain俩种类型 explain extended 会在 exp ...

  5. 通过idea创建Maven项目整合Spring+spring mvc+mybatis

    创建项目 File→new→project             然后就不断next直到项目面板出来 设置文件夹         注意:这里我个人习惯,在java下还建了ssm文件夹,然后再cont ...

  6. python enumerate枚举用法总结

    enumerate()说明 enumerate()是python的内置函数enumerate在字典上是枚举.列举的意思对于一个可迭代的(iterable)/可遍历的对象(如列表.字符串),enumer ...

  7. C# 金额数字转中文的方法

    /// <summary> /// 金额数字转大写(带小数点) /// </summary> public static string PriceToCn(decimal pr ...

  8. 使用IDEA开发的java compiler经常会自动变为1.5

    在maven的pom.xml文件里面 在profiles下 <profile> <id>jdk-1.8</id> <activation> <ac ...

  9. sigslot之简化版

    1.关于 1.1 基于原版sigslot做了部分修改.原版的信号支持最多支持8个参数,改进后,最多支持1个参数,这样肯定不能满足日常需求,但是,我们可以将信号的一个参数改为类型指针,比如信号定义时的模 ...

  10. 【LeetCode】221. Maximal Square 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 动态规划 日期 题目地址: https://leet ...