7.python3实用编程技巧进阶(二)

7.python3实用编程技巧进阶(二),第1张

概述1.5.如何根据字典中值的大小,对字典中的项进行排序 第一种方法:列表解析 # 1.5.如何根据字典中值的大小,对字典中的项进行排序from random import randintd = {k: randint(60, 100) for k in ‘abcdefg‘}print(d)#第一种方法:使用列表解析或者zip()函数,把字典的keys和values反转过来 1.5.如何根据字典中值的大小,对字典中的项进行排序

第一种方法:列表解析

# 1.5.如何根据字典中值的大小,对字典中的项进行排序from random import randintd = {k: randint(60,100) for k in abcdefg}print(d)#第一种方法:使用列表解析或者zip()函数,把字典的keys和values反转过来List1 = [(v,k) for k,v in d.items()]#或者使用zip()函数# List2 = List(zip(d.values(),d.keys()))print(List1)List1 = sorted(List1,reverse=True)print(List1)

第二种使用sorted

# 1.5.如何根据字典中值的大小,对字典中的项进行排序from random import randintd = {k: randint(60,d.keys()))List1 = sorted(List1,reverse=True)#第二种方法:使用sorted排序p = sorted(d.items(),key=lambda item:item[1],reverse=True)print(p)     #[(‘a‘,97),(‘b‘,93),(‘d‘,(‘e‘,92),(‘f‘,76),(‘c‘,66),(‘g‘,61)]#对分数添加一个排名d = {k:(i,v) for i,(k,v) in enumerate(p,1)}print(d)    #{‘g‘: (1,‘d‘: (2,‘f‘: (3,91),‘c‘: (4,79),‘a‘: (5,78),‘e‘: (6,67),‘b‘: (7,64)}
1.6.如何统计序列中元素的频度
# 1.6如何统计序列中元素的频度from random import randintfrom collections import Counterdata = [randint(1,5) for _ in range(1,20)]print(data)   #[5,2,1,5,3,4,5]#计算频度最高的是三个数c = Counter(data)print(c.most_common(3))    #[(1,5),(3,4),(2,4)]
1.7.如何快速找到多个字典中的公共键
# 1.7.如何快速找到多个字典中的公共键from random import randint,samplefrom functools import reduced1 = {k:randint(1,4) for k in sample(abcdefgh,randint(3,6))}d2 = {k:randint(1,6))}d3 = {k:randint(1,6))}#1.使用字典的keys()方法,得到一个字典keys的集合#2.使用map函数,得到每个字典keys的集合#3.使用reduce,取所有字典keys集合的交集dl = [d1,d2,d3]#找到三个字典中相同的keysresult = reduce(lambda a,b: a & b,map(dict.keys,dl))print(result)
 1.8.如何让字典保持有序
# 1.8.如何让字典保持有序from collections import OrderedDictfrom itertools import isliced = OrderedDict()d[e] = 5d[d] = 4d[c] = 3d[b] = 2d[a] = 1print(d)    #OrderedDict([(‘e‘,3),2),(‘a‘,1)])#OrderedDict字典,在迭代 *** 作时,它会保持元素被插入时的顺序def query_by_order(d,a,b =None):    if b is None:        b = a + 1    return List(islice(d,b))#第五个keyres1 = query_by_order(d,4)print(res1)     #[‘a‘]#第二个和第三个keyres2 = query_by_order(d,3)print(res2)     #[‘d‘,‘c‘]
总结

以上是内存溢出为你收集整理的7.python3实用编程技巧进阶(二)全部内容,希望文章能够帮你解决7.python3实用编程技巧进阶(二)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1191898.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存