首页 > 其他 > 详细

如何快速找到多个字典中的公共键(key)

时间:2019-11-18 19:34:19      阅读:69      评论:0      收藏:0      [点我收藏+]
from random import randint, sample #sample随机取样
d1 = {k: randint(1, 4) for k in sample('abcdefgh', randint(3, 6))} #产生数据
d2 = {k: randint(1, 4) for k in sample('abcdefgh', randint(3, 6))}
d3 = {k: randint(1, 4) for k in sample('abcdefgh', randint(3, 6))}

#方法1:for循环 + 列表解析
[k for k in d1 if k in d2 and k in d3]

#方法2:map
dl = [d1, d2, d3]
[k for k in dl[0] if all(map(lambda d: k in d, dl[1:]))]

执行结果:

['g']

利用集合(set)的交集操作

#1.使用字典的keys()方法,得到一个字典keys的集合
#2.使用map函数,得到每个字典keys的集合
#3.使用reduce函数,取所有字典的keys集合的交集
from functools import reduce
reduce(lambda a, b: a & b, map(dict.keys, dl))

执行结果:

{'g'}

如何快速找到多个字典中的公共键(key)

原文:https://www.cnblogs.com/huowuyan/p/11884282.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!