如何快速找到多个字典中的公共键?
方法一:传统方法,依次遍历
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())