美文网首页
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