美文网首页
python找到多个字典中的公共键

python找到多个字典中的公共键

作者: 听城 | 来源:发表于2017-11-21 22:02 被阅读23次

python找到多个字典中的公共键

生成字典

from random import randint,sample
s = 'abcdefg'
s1 = {x:randint(1,4) for x in sample(s,randint(3,6))}
s2 = {x:randint(1,4) for x in sample(s,randint(3,6))}
s3 = {x:randint(1,4) for x in sample(s,randint(3,6))}

方案1:循环判断

res = []
for k in s1:
    if k in s2 and k in s3:
        res.append(k)

方案2:集合交集

s1.keys() & s2.keys() & s3.keys()

如何解决字典个数不定的情况呢?
可以使用map,reduce函数

s = map(dict.keys(), [s1,s2,s3])
reduce(lambda a,b: a&b,s)

相关文章

网友评论

      本文标题:python找到多个字典中的公共键

      本文链接:https://www.haomeiwen.com/subject/jhdgvxtx.html