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

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

 

实际案例:

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

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

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

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

...

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

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

比较容易想到的方法:

我们的方法:

解决方案:

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

 Step1:

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

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

 Step2:

  对于多个字典:

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

 Step3:

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

原文地址:https://www.cnblogs.com/goddog1024/p/11267307.html

时间: 2024-11-08 19:59:06

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

Python强化训练笔记(五)——找出多个字典中的公共键

在这个问题中,我们期望得到的结果是找到这三轮比赛中,每轮都进球的球员都有谁.下面用python来模拟一下,先生成一批数据: >>> from random import randint, sample >>> # sample是取样的意思,例如sample('abcde', 2),会在'abcde'这个字符串中随机抽样2个字符出来 >>> {x: randint(1,3) for x in sample('abcdef', randint(3, 6))

如何快速找到多个字典中的公共键(1.4)

d1 = {'a': 1, 'b': 2, 'c': 3, 'd': 4} d2 = {'a': 1, 'b': 2, 'c': 3, 'e': 5} d3 = {'a': 1, 'b': 2, 'c': 3, 'f': 6} 法1. 遍历 res = [] for k in d1: if k in d2 and k in d3: res.append(k) print(res) 法2. 集合交集 >>> d2.keys? # Docstring: D.keys() -> a se

Python 字典(Dictionary) has_key()方法-判断键是否存在于字典中,如果键在字典dict里返回true,否则返回false

描述 Python 字典(Dictionary) has_key() 函数用于判断键是否存在于字典中,如果键在字典dict里返回true,否则返回false. 语法 has_key()方法语法: dict.has_key(key) 参数 key -- 要在字典中查找的键. 返回值 如果键在字典里返回true,否则返回false. 实例 以下实例展示了 has_key()函数的使用方法: #!/usr/bin/python dict = {'Name': 'Zara', 'Age': 7} pri

剑指offer_快速查找递增二维数组中是否存在目标

[编程题]二维数组中的查找 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 完整通过代码: public class ArrayFind { public static void main(String[] args){ int a[][]={{1,2,3},{4,5,6},{7,8,9}}; System.out.println(Find(a,7)); } public sta

在路上---学习篇(一)Python 数据结构和算法 (5)二分查找、二叉树遍历

独白: 利用算法进行查找指定元素,最近学习二分查找和二叉树遍历.二分查找前提是在有序中进行查找,二叉树引入了树的概念.树的概念其中有许多小知识点,也是一种新的数据结构.还是之前的感悟,需了解其本质才会写出更好的算法. 二分查找 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好:其缺点是要求待查表为有序表,且插入删除困难.因此,折半查找方法适用于不经常变动而查找频繁的有序列表.首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功:否则利用

从多个字典中提取相同的key

有时有多个字典,需要从中提取出这些字典中共有的key #!/usr/bin/env python #coding:utf-8 #@Author:Andy from random import randint, sample # select the same key from different dict print("Generate 3 dif dict:") d1 = {k:randint(1, 10) for k in sample(["小王","

Python3基础 使用keys() values()和for循环打印一个字典中的所有键和值

镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.------------------------------------------ code: dict1={'子':'鼠','丑':'牛','寅':'虎','卯':'兔','辰':'龙','巳':'蛇','午':'马','未':'羊','申':'猴','酉':'鸡','戌':'狗','亥':'猪'} #你会发现顺序变了 for eachKey in dict1.keys

38-python基础-python3-检查字典中是否存在键或值

in 和 not in 操作符 请注意, 在前面的例子中,‘name’ in spam 本质上是一个简写版本.相当于'name' in spam.keys() 原文地址:https://www.cnblogs.com/summer1019/p/11367997.html

Python3基础 dict keys+values 循环打印字典中的所有键和值

? python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 conda : 4.5.11 type setting : Markdown ? code """ @Author : 行初心 @Date : 18-9-23 @Blog : www.cnblogs.com/xingchuxin @GitHub : github.com/GratefulHeartCoder """ de