方法一:for in循环

from random import randint, sample

a1 = {k; randint(1, 4) for k in 'abcdefg'}

a2 = {k; randint(1, 4) for k in 'abcdefg'}

a3 = {k; randint(1, 4) for k in 'abcdefg'}

a4 = {k; randint(1, 4) for k in 'abcdefg'}

r = []

for x in a1:

if x in a2 and x in a3 and x in a4:

r.append(x)

print(r)

  1. randint(1, 4):从1~4间随机取一个数;

方法二:利用集合的交集操作

from random import randint, sample

a1 = {k; randint(1, 4) for k in 'abcdefg'}

a2 = {k; randint(1, 4) for k in 'abcdefg'}

a3 = {k; randint(1, 4) for k in 'abcdefg'}

a4 = {k; randint(1, 4) for k in 'abcdefg'}

a = a1.keys() & a2.keys() & a3.keys() & a4.keys()

print(a)

  1. a1.keys():得到a1字典的key,一set格式;
  2. a1.keys() & a2.keys() & a3.keys() & a4.keys():取4个集合的公共元素;
  3. a为一个集合(set)

方法三:使用map即reduce(用于求n个字典的公共key)

from random import randint, sample

from functools import reduce

a1 = {k; randint(1, 4) for k in 'abcdefg'}

a2 = {k; randint(1, 4) for k in 'abcdefg'}

a3 = {k; randint(1, 4) for k in 'abcdefg'}

a4 = {k; randint(1, 4) for k in 'abcdefg'}

b1 = map(dict.keys, [a1, a2, a3, a4])

b2 = reduce(lambda a ,b: a & b, b1)

print(b2)

  1. b1 = map(dict.keys, [a1, a2, a3, a4]):以集合形式取每个字典的keys;

问题5:如何快速找到多个字典中的公共键(key)的更多相关文章

  1. 5、如何快速找到多个字典中的公共键(key) 6 如何让字典保持有序 7 如何实现用户的历史记录功能(最多n条)

    5.如何快速找到多个字典中的公共键(key) from random import randint,sample #随机取数 # a = sample("ABCDEF",randi ...

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

    from random import randint, sample #sample随机取样 d1 = {k: randint(1, 4) for k in sample('abcdefgh', ra ...

  3. python数据结构-如何快速找到多个字典中的公共键

    如何快速找到多个字典中的公共键 问题举例 统计每轮都进球的球员: 第1轮{‘tom’:1, 'meixi':2} 第2轮{‘coco’:3, 'meixi':4, 'marton':2} 第3轮{'c ...

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

    如何快速查找到多个字典中的公共键(Key)-?   实际案例: 西班牙足球甲级联赛,每轮球员进球统计: 第1轮: { '苏亚雷斯':1,'梅西':2,'本泽马':1,...} 第2轮: { '苏亚雷斯 ...

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

    在这个问题中,我们期望得到的结果是找到这三轮比赛中,每轮都进球的球员都有谁.下面用python来模拟一下,先生成一批数据: >>> from random import randin ...

  6. python实例:快速找出多个字典中的公共键

    1.生成随机字典 # 从abcdefg 中随机取出 3-6个,作为key, 1-4 的随机数作为 value s1 = {x : randint(1, 4) for x in sample('abcd ...

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

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  8. 在robotframework里面,怎么在已有的字典中加一个键值对呢

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

    in 和 not in 操作符   请注意, 在前面的例子中,‘name’ in spam 本质上是一个简写版本.相当于'name' in spam.keys()

随机推荐

  1. git本地分支管理

    查看分支:git branch创建分支:git branch dev重命名分支:git branch -m dev dev1删除分支:git branch -d dev切换分支:git checkou ...

  2. android在activity中去掉标题栏

    package com.goodness.goodness; import android.support.v7.app.AppCompatActivity; import android.os.Bu ...

  3. maven编译问题-maven项目运行时找不到文件,解决方案之一

    问题描述:以上信息是tomcat在启动项目的时候报的错误信息,发现没有找到配置文件,实际上配置文件在项目中是存在的,但是,在编译过程中,配置文件没有能加载到编译后的项目中.就造成了,找不到这些怕配置文 ...

  4. Symfony 安装FOUSerBundle

    第一按照官网安装 : https://symfony.com/doc/current/bundles/FOSUserBundle/index.html#main 可能版本无法安装 : $ compos ...

  5. 两个Java项目之间相互调用

    转自:http://dysfzhoulong.iteye.com/blog/1008747 一个项目A另一个项目B:(项目A和项目B都是Java写的项目) 在A项目中怎么调用B项目中的类和方法 有两种 ...

  6. ABAP table control例子

    [转自]http://blog.csdn.net/lhx20/article/details/3039909Table control用于在screen上以表格的形式显示数据,在table contr ...

  7. LeetCode:汇总区间【228】

    LeetCode:汇总区间[228] 题目描述 给定一个无重复元素的有序整数数组,返回数组区间范围的汇总. 示例 1: 输入: [0,1,2,4,5,7] 输出: ["0->2&quo ...

  8. UVALive - 6257 K - Chemist's vows 【DFS】【BFS】【DP】

    题目链接 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_ ...

  9. POJ - 2195 Going Home 【KM】

    题目链接 http://poj.org/problem?id=2195 题意 在一张N * M 的地图上 有 K 个人 和 K 个房子 地图上每个点都是认为可行走的 求 将每个人都分配到不同的房子 求 ...

  10. [原创]java WEB学习笔记20:MVC案例完整实践(part 1)---MVC架构分析

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...