如何快速找到多个字典中的公共键?
方法一:传统方法,依次遍历
from random import randint, sample
# 随机产生 3 场球赛的 进球人和数
s1 = {x: randint(1,4) for x in sample('abcdefg',randint(3,6))}
s2 = {x: randint(1,4) for x in sample('abcdefg',randint(3,6))}
s3 = {x: randint(1,4) for x in sample('abcdefg',randint(3,6))}
print(s1)
print(s2)
print(s3)
# 传统方法
res = []
for k in s1:
if k in s2 and k in s3:
res.append(k)
print(res)
方法二:利用集合(set)的交集操作
- 利用字典的keys() 方法,得到一个字典的 keys 的集合
- 取所有字典的 keys 的集合的交集
from random import randint, sample
# 随机产生 3 场球赛的 进球人和数
s1 = {x: randint(1,4) for x in sample('abcdefg',randint(3,6))}
s2 = {x: randint(1,4) for x in sample('abcdefg',randint(3,6))}
s3 = {x: randint(1,4) for x in sample('abcdefg',randint(3,6))}
print(s1)
print(s2)
print(s3)
print(s1.keys() & s2.keys() & s3.keys())