Python实现查找字典key方法的有哪些呢
Admin 2022-09-15 群英技术资讯 371 次浏览
实际案例:
西班牙足球甲级联赛,每轮球员进球统计:
统计出前N轮,每场比赛都有进球的球员。
注:公共键就是在每个字典中都出现的键。
解决方案:
利用集合(set)的交集操作
keys()
方法,得到一个字典keys的集合;map
函数,得到所有字典的keys的集合;reduce
函数,取所有字典的keys集合的交集。from random import randint, sample # 随机取样进球球员信息 print(sample('abcdef', randint(3, 6))) # 字典解析产生每轮数据 s1 = {x: randint(1, 4) for x in sample('abcdef', randint(3, 6))} s2 = {x: randint(1, 4) for x in sample('abcdef', randint(3, 6))} s3 = {x: randint(1, 4) for x in sample('abcdef', randint(3, 6))} print(s1, s2, s3) # 方法1: # 迭代第1轮中键,之后再去判断这个key是否在s2和s3当中,如果在就表示这个键是公共键 res = [] for k in s1: if k in s2 and k in s3: res.append(k) print(res) # 方法2: # 获取每一个字典中的所有key,python2为viewkeys() print(s1.keys(), s2.keys(), s3.keys()) # 取所有集合的&交集,就是公共键 print(s1.keys() & s2.keys() & s3.keys()) # 方法3: # 使用map得到每一轮的keys集合 print(list(map(dict.keys, [s1, s2, s3]))) from functools import reduce # 使用reduce函数,取每一轮的keys集合的交集 print(reduce(lambda a, b: a & b, map(dict.keys, [s1, s2, s3])))
from random import randint, sample a1 = {k: randint(1, 4) for k in 'abcdefg'} a2 = {k: randint(1, 4) for k in 'abc123456789'} a3 = {k: randint(1, 4) for k in 'abcinubububu'} a4 = {k: randint(1, 4) for k in 'abc89898989'} r = [] for x in a1: if x in a2 and x in a3 and x in a4: r.append(x) print(r) randint(1, 4) # 从1~4间随机取一个数
from random import randint, sample a1 = {k: randint(1, 4) for k in 'abcdefg'} a2 = {k: randint(1, 4) for k in 'abcdefg'} a3 = {k: randint(1, 4) for k in 'abcdefg'} a4 = {k: randint(1, 4) for k in 'abcdefg'} a = a1.keys() & a2.keys() & a3.keys() & a4.keys() print(a)
a1.keys():得到a1字典的key,一set格式;
a1.keys() & a2.keys() & a3.keys() & a4.keys():取4个集合的公共元素;
a为一个集合(set)
from random import randint, sample from functools import reduce a1 = {k: randint(1, 4) for k in 'abcdefg'} a2 = {k: randint(1, 4) for k in 'abcdefg'} a3 = {k: randint(1, 4) for k in 'abcdefg'} a4 = {k: randint(1, 4) for k in 'abcdefg'} b1 = map(dict.keys, [a1, a2, a3, a4]) b2 = reduce(lambda a ,b: a & b, b1) print(b2) b1 = map(dict.keys, [a1, a2, a3, a4]) #以集合形式取每个字典的keys;
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
Cookie用于服务器实现会话,用户登录及相关功能时进行状态管理。要在用户浏览器上安装cookie,HTTP服务器向HTTP响应添加类似以下内容的HTTP
python中的str:1、Python中包含字符串,字符串的类型为str。str函数是Python的内置函数,它将参数转换成字符串类型,即人适合阅读的形式;2、主要使用有无参调用和不省略参数。
在使用matplotlib作图的时候,有的时候会遇到画图时显示不全和图片保存时不完整的问题,这篇文章主要给大家介绍了关于Pandas Matplotlib保存图形时坐标轴标签太长导致显示不全问题的解决方法,需要的朋友可以参考下
当我们处理图像的时候避免不了要对访问,或是读取某一个像素点的值,下面这篇文章主要给大家介绍了关于利用Python如何获取图像中像素点坐标的相关资料,需要的朋友可以参考下
这篇文章主要weidajia 介绍了python目标检测非极大抑制NMS与Soft-NMS实现过程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008