字典排序

python 字典排序

我们两清 提交于 2020-03-08 02:40:20
对字典进行排序?这其实是一个伪命题,搞清楚python字典的定义---字典本身默认以key的字符顺序输出显示---就像我们用的真实的字典一样,按照abcd字母的顺序排列,并且本质上各自没有先后关系,是一个哈希表的结构: 但实际应用中我们确实有这种排序的“需求”-----按照values的值“排序”输出,或者按照别的奇怪的顺序进行输出,我们只需要把字典转化成list或者tuple,把字典每一对键值转化为list中的两位子list或者子tuple再输出,就可以达到我们的目的: 【Python】 sorted函数 我们需要对List、Dict进行排序,Python提供了两个方法 对给定的List L进行排序, 方法1.用List的成员函数sort进行排序,在本地进行排序,不返回副本 方法2.用built-in函数sorted进行排序(从2.4开始),返回副本,原始输入不变 --------------------------------sorted--------------------------------------- >>> help(sorted) Help on built-in function sorted in module __builtin__: sorted(...) sorted(iterable, cmp=None, key=None, reverse

Python : 字典按键和值排序

淺唱寂寞╮ 提交于 2020-03-07 10:34:02
[1] sorted()函数 排序函数 sorted(iterable,key,reverse) ,iterable表示 可迭代的对象 ,例如可以是dict.items()、dict.keys()等;key是一个 函数 ,用来选取参与比较的元素;reverse则是用来指定排序是 倒序还是顺序 ,reverse=true则是倒序,reverse=false时则是顺序(默认)。 [2] 按key排序 1、sorted(dict) == sorted(dict.keys()) #返回键 # items以列表形式返回 字典键值对 2、sorted(dict.items(),key=lambda d:d[0]) 3、sorted(dict.items(),key=operator.itemgetter(0)) # import operator [3] 按value排序 1、sorted(dict,key=dict. getitem ) #返回键 2、sorted(dict.items(),key=lambda d:d[1]) 3、sorted(dict.items(),key=operator.itemgetter(1)) 来源: CSDN 作者: 学习CV的菜鸟 链接: https://blog.csdn.net/qq_40263477/article/details/104683211

Python字典排序与取值

独自空忆成欢 提交于 2020-03-07 02:24:26
前言 一个非本专业的坑货,让我帮做的一道Python题,还很无 chi 的那啥希望我帮写注释,简直不能忍 (〃´皿`)q… 最后,我为了维护世界的和平,就当复习一下Python知识了。 题目 题目都懒得打,直接截他发给我的图片 源代码 每一行都写注释了,就不分析什么鬼了 #定义一个 find_max_and_min 函数 def find_max_and_min ( stock_dict ) : # 对传入的字典根据value排序(升序) dict_sort = sorted ( stock_dict . items ( ) , key = lambda item : item [ 1 ] ) #排序后得到的dict_sort是一个列表(可使用type(dict_sort)查看类型),需再转化为字典 dict_Last = dict ( dict_sort ) print ( list ( dict_Last . values ( ) ) [ 0 ] ) # 输出字典的第一个value(最小值) print ( list ( dict_Last . values ( ) ) [ - 1 ] ) # 输出字典的最后一个value(最大值) stock_dict = { '20200101' : 30.21 , '20200102' : 28.5 , '20200103' : 29.6

python基础面试集锦(1-50)

亡梦爱人 提交于 2020-02-10 18:16:28
目录 1、Python和Java、PHP、C、C#、C++等其他语言的对比 2、简述解释型语言和编译性语言? 3、Python解释器种类以及特点? 4 、位和字节的关系? 5、b、B、KB、MB、GB的关系? 6、一个字符不同编码对应的字节数? 7、PEP8编码规范? 8、or and 计算规则 9、求结果:or and 10、ASCII、unicode、utf-8、gbk区别? 11、字节码和机器编码的区别? 12、三元运算编写格式? 13、Python2和Python3的区别? 14、一行代码数值交换?交叉赋值 15、python2和python3中Int和long的区别? 16、xrange和range的区别? 17、字符串的反转序列?步长-1切 18、文件操作时:xreadlines和readlines的区别? 19、列举布尔值位false的常见值? 20、is和==的区别? 21、那些情况下,y!=x-(x-y)会成立? 22、现有字典dict = {'a':20,'b':25,'c':10,'d':50}请按字典中的value值进行排序? 23、如何将字典的键值互换? 24、字典和json的区别? 25、什么是可变、不可变类型? 26、存入字典里的数据有没有先后排序? 27、字典推导式? 28、描述一下dict的item()方法与iteritems()的不同? 29

Python字典根据键值排序

折月煮酒 提交于 2020-01-10 14:15:01
思路: keys(),values()取出键值对,转换为元组列表,对列表排序,再转换成字典 键值对->元组列表->排序列表->排序字典 dic = { "name" : "zs" , "age" : 18 , "city" : "深圳" , "tel" : "1362626627" } ​ print ( dict ( sorted ( zip ( dic . keys ( ) , dic . values ( ) ) ) ) ) 来源: CSDN 作者: Angryshark_128 链接: https://blog.csdn.net/weixin_42078760/article/details/103881795

这26个为什么,让初学者理解Python更简单!

柔情痞子 提交于 2020-01-07 04:13:50
为什么Python使用缩进来分组语句? 为什么简单的算术运算得到奇怪的结果? 为什么浮点计算不准确? 为什么Python字符串是不可变的? 为什么必须在方法定义和调用中显式使用“self”? 为什么不能在表达式中赋值? 为什么Python对某些功能(例如list.index())使用方法来实现,而其他功能(例如len(List))使用函数实现? 为什么 join()是一个字符串方法而不是列表或元组方法? 异常有多快? 为什么Python中没有switch或case语句? 难道不能在解释器中模拟线程,而非得依赖特定于操作系统的线程实现吗? 为什么lambda表达式不能包含语句? 可以将Python编译为机器代码,C或其他语言吗? Python如何管理内存? 为什么CPython不使用更传统的垃圾回收方案? CPython退出时为什么不释放所有内存? 为什么有单独的元组和列表数据类型? 列表是如何在CPython中实现的? 字典是如何在CPython中实现的? 为什么字典key必须是不可变的? 为什么 list.sort() 没有返回排序列表? 如何在Python中指定和实施接口规范? 为什么没有goto? 为什么原始字符串(r-strings)不能以反斜杠结尾? 为什么Python没有属性赋值的“with”语句? 为什么 if/while/def/class语句需要冒号?

Python中 字典排序、列表排序

强颜欢笑 提交于 2019-12-05 02:28:42
一、字典排序 在程序中使用字典进行数据信息统计时,由于字典是无序的所以打印字典时内容也是无序的。因此,为了使统计得到的结果更方便查看需要进行排序。Python中字典的排序分为按“键”排序和按“值”排序。 1、按“值”排序 按“值”排序就是根据字典的值进行排序,可以使用内置的sorted()函数。 sorted(iterable[, cmp[, key[, reverse]]]) (1)iterable:是可迭代类型类型; (2)cmp:用于比较的函数,比较什么由key决定,有默认值,迭代集合中的一项; (3)key:用列表元素的某个属性和函数进行作为关键字,有默认值,迭代集合中的一项; (4)reverse:排序规则. reverse = True 或者 reverse = False,有默认值,默认为升序排列(False)。 返回值: 是一个经过排序的可迭代类型 ,与iterable一样。一般来说,cmp和key可以使用lambda表达式。 如果对字典进行排序,常用的形式如下: sorted(dict.items(), key=lambda e:e[1], reverse=True) , 其中e表示dict.items()中的一个元素,e[1]则表示按 值排序如果把e[1]改成e[0],那么则是按键排序,reverse=False可以省略,默认为升序排列。 说明:字典的items

Python排序总结:列表、字典、包含字典的列表、包含元组的列表排序

浪尽此生 提交于 2019-12-05 02:28:21
1、列表排序 两种方法 sorted(list):返回一个对象,原来的list不变,生成一个新的排好的list对象; list.sort():不会返回对象,改变原有list。 排序实例: L = [2, 4, 1, 5, 9] 1.1 升序 >>> sorted(L) [1, 2, 4, 5, 9] >>> L.sort() >>> print L [1, 2, 4, 5, 9] 1.2 降序 reverse关键字:排序规则。 reverse = True 或者 reverse = False,有默认值,默认为升序排列(False) >>> sorted(L,reverse=True) [9, 5, 4, 2, 1] >>> L.sort(reverse=True) >>> print L [9, 5, 4, 2, 1] 2、字典排序 字典的特点是无序,可以按照键(key)或者值(value)对其进行排序,但是返回的结果肯定不能是字典。 排序实例: D = {'jack': 23, 'rose': 21, 'flank': 22} 2.1 升序 2.1.1 lambda表达式 >>> sorted(D.items(), key=lambda d:d[1]) # 值(value)排序 [('rose', 21), ('flank', 22), ('jack', 23)] >>>

Python字典的高级用法

旧巷老猫 提交于 2019-12-04 14:19:04
一、 collections 中 defaultdict 的使用 1.1 字典的键映射多个值 将下面的列表转成字典 l = [('a',2),('b',3),('a',1),('b',4),('a',3),('a',1),('b',3)] 一个字典就是一个键对应一个单值的映射,而上面的列表中有相同键。如果你想要一个键映射多个值,那么就需要将这多个值放到另外的序列中,比如 list 或者 set 里面,像下面这样: d = { 'a': [1, 2, 3], 'b': [4, 5] } e = { 'a': {1, 2, 3}, 'b': {4, 5} } 你可以很方便的使用 collections 模块中的 defaultdict 来构造这样的字典。 defaultdict 的一个特征是它会自动初始化每个 key 刚开始对应的值。 In [1]: l = [('a',2),('b',3),('a',1),('b',4),('a',3),('a',1),('b',3)] In [2]: from collections import defaultdict In [3]: d = defaultdict(list) In [4]: for key, value in l: ...: d[key].append(value) ...: In [5]: d Out[5]:

Python3 实例(六)

匿名 (未验证) 提交于 2019-12-02 22:51:08
Python 判断字符串是否存在子字符串 给定一个字符串,然后判断指定的子字符串是否存在于改字符串中。 实例 def check(string, sub_str): if (string.find(sub_str) == -1): print(“不存在!”) else: print(“存在!”) string = “ www.runoob.com ” sub_str =“runoob” check(string, sub_str) 执行以上代码输出结果为: 存在! Python 判断字符串长度 给定一个字符串,然后判断改字符串的长度。 实例 1:使用内置方法 len() str = “runoob” print(len(str)) 执行以上代码输出结果为: 6 实例 2:使用循环计算 def findLen(str): counter = 0 while str[counter:]: counter += 1 returncounter str = “runoob” print(findLen(str)) 执行以上代码输出结果为: 6 Python 使用正则表达式提取字符串中的 URL 给定一个字符串,里面包含 URL 地址,需要我们使用正则表达式来获取字符串的 URL。 实例 import re def Find(string): # findall()