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

网友投稿 212 2022-06-21


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'}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:python的列表元素输出(python列表的输入输出)
下一篇:python获取多输入(python实现多次输入)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~