如何快速查找到多个字典中的公共键(Key)---Python数据结构与算法相关问题与解决技巧

如何快速查找到多个字典中的公共键(Key)-?

 

实际案例:

 西班牙足球甲级联赛,每轮球员进球统计:

  第1轮: { '苏亚雷斯':1,'梅西':2,'本泽马':1,...}

  第2轮: { '苏亚雷斯':1,'C罗':2,'剑圣':1,...}

  第3轮: { '苏亚雷斯':1,'卡尔':2,'贝利':1,...}

  ...

  统计出前N轮,每场比赛都有进球的球员 .

  --N个字典中,寻找公共键的问题 --

比较容易想到的方法:

如何快速查找到多个字典中的公共键(Key)---Python数据结构与算法相关问题与解决技巧

我们的方法: 

解决方案:

  利用集合(set)的交集操作 ---获取所有dict公共键

 Step1:

  使用字典的keys()方法,得到一个字典keys的集合   

     --对于两个字典都调用keys,可以得到两个集合,用这两个集合做交集操作,交集的结果,就是公共键

 Step2:

  对于多个字典:

  使用Map函数,得到每个字典keys的集合

 Step3:

  使用reduce函数,取所有字典的keys集合的交集 

如何快速查找到多个字典中的公共键(Key)---Python数据结构与算法相关问题与解决技巧