您的位置:首页 > 其它

如何快速找到多个字典中出现的公共键

2017-09-08 10:49 411 查看
from random import randint,sample
s1 = {x: randint(1,4) for x in sample('abcdefg',ranint(3,6))}
s2 = {x: randint(1,4) for x in sample('abcdefg',ranint(3,6))}
s3 = {x: randint(1,4) for x in sample('abcdefg',ranint(3,6))}

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

# 法二
s1.viewkeys()&s2.viewkeys()&s3.viewkeys()

## 法二进阶版
map(dict.viewkeys,[s1,s2,s3])
>>> [dict_keys(['a','b','e','f']),
dict_keys(['c','e','g','g']),
dict_keys(['b','e','d','g','f'])]
reduce(lambda a,b:a &b,map(dict.viewkeys,[s1,s2,s3]))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: