【Python基础教程】快速找到多个字典中的公共键(key)的方法

news/2025/3/11 8:20:49/

前言

嗨喽~大家好呀,这里是魔王呐 ❤ ~!

python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取

方法一:for in循环

from random import randint, samplea1 = {k: randint(1, 4) for k in 'abcdefg'}
a2 = {k: randint(1, 4) for k in 'abc123456789'}
a3 = {k: randint(1, 4) for k in 'abcinubububu'}
a4 = {k: randint(1, 4) for k in 'abc89898989'}
r = []for x in a1:if x in a2 and x in a3 and x in a4:r.append(x)
print(r)
randint(1, 4)  # 从1~4间随机取一个数

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

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
from random import randint, samplea1 = {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)

a1.keys():得到a1字典的key,一set格式;

a1.keys() & a2.keys() & a3.keys() & a4.keys():取4个集合的公共元素;

a为一个集合(set)

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

from random import randint, sample
from functools import reducea1 = {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)b1 = map(dict.keys, [a1, a2, a3, a4])  #以集合形式取每个字典的keys;

尾语

最后感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇


http://www.ppmy.cn/news/1084254.html

相关文章

基于Gin框架的HTTP接口限速实践

在当今的微服务架构和RESTful API主导的时代,HTTP接口在各个业务模块之间扮演着重要的角色。随着业务规模的不断扩大,接口的访问频率和负载也随之增加。为了确保系统的稳定性和性能,接口限速成了一个重要的话题。 1 接口限速的使用场景 接口…

利用Cython发布python项目

最近有个python项目要发布,遇到了两个问题,一是项目在windows下运行有点慢,二是python都是脚本直接运行,没法保护代码安全。查了一下,有人说可以利用Cython,把python代码编译成为C来调用。即能提高运行性能…

c++ vs2019 cpp20规范的STL库的map与multimap源码分析

map就是一个红黑树。 标准平衡二叉树,要求左右子树的高度差不超过1 。红黑树只要求左右子树的高度差不超过一倍即可。兼顾了树平衡与效率。避免了AVL树的频繁调整树平衡。 b站 的“可雷曼土”大师,讲红黑树的理论讲的很透彻,再结合看代码&…

Auto DevOps介绍

1 Preface/Foreword 随着国际化,信息化,当今是一个VUCA时代。 VUCA:Volatile (易变的),Uncertain (不确定的),Complicated (复杂的)&#xff0c…

dml dql 约束 数据库设计

dml 1.添加数据 *语法 : *insert into 表名(列名1,列名2,……..列名n)values(值1,值2,…值n) *注意: 1.列名和值要一一对应 2.如果表名后,不写列名,就要给…

过滤器的应用-Filter

过滤器 1.工作原理 2.创建Filter 2.1通过注解的方式实现 //创建一个类,实现Filter接口 WebFilter(urlPatterns "/myfilter") //urlPatterns表示需要拦截的路径 public class MyFilter implements Filter {Overridepublic void doFilter(ServletReques…

如何让自己的代码看着更高级---探索版(一)

如何让自己的代码看着更高级些(一) 一、注释种类 C语言注释主要有两种: 1、形式为/* 注释内容 */ /* 注释内容 */,是C89标准引入的。 这种注释可以单行,也可以多行。 2、形式为//注释内容 //注释内容&#xff0…

Python小知识 - 1. Python装饰器(decorator)

Python装饰器(decorator) Python装饰器是一个很有用的功能,它可以让我们在不修改原有代码的情况下,为已有的函数或类添加额外的功能。 常见的使用场景有: a. 函数缓存:对于一些计算量较大的函数&#xff0c…