如何快速找到多个字典中的公共键(key)
2024-10-21 07:45:57
from random import randint, sample #sample随机取样
d1 = {k: randint(1, 4) for k in sample('abcdefgh', randint(3, 6))} #产生数据
d2 = {k: randint(1, 4) for k in sample('abcdefgh', randint(3, 6))}
d3 = {k: randint(1, 4) for k in sample('abcdefgh', randint(3, 6))}
#方法1:for循环 + 列表解析
[k for k in d1 if k in d2 and k in d3]
#方法2:map
dl = [d1, d2, d3]
[k for k in dl[0] if all(map(lambda d: k in d, dl[1:]))]
执行结果:
['g']
利用集合(set)的交集操作
#1.使用字典的keys()方法,得到一个字典keys的集合
#2.使用map函数,得到每个字典keys的集合
#3.使用reduce函数,取所有字典的keys集合的交集
from functools import reduce
reduce(lambda a, b: a & b, map(dict.keys, dl))
执行结果:
{'g'}
最新文章
- 你想不到的!CSS 实现的各种球体效果【附在线演示】
- Ant和Maven的作用是什么?两者之间功能、特点有哪些区别?
- JSON的一点:
- hdu 4597 + uva 10891(一类区间dp)
- 《Linux内核分析》第六周 进程的描述与创建
- SQL Server数据库ROW_NUMBER()函数使用详解
- mysql management note
- 垃圾回收 GC
- 判断在Android手机内, 页面重新刷新一次
- ubuntu14.04下手动安装JDK + eclipse + Pydev
- 如何调试框架中的app
- vuejs+nodejs支持服务端渲染的博客系统
- css的position,float属性的理解
- guava-retrying 源码解析(等待策略详解)
- Bootstrap3基础 dropdown divider 下拉列表中的分割线
- day50
- mysql|中主外键关系(转)
- web前端--实现前后端分离的心得
- 网络子系统46_ip协议数据帧的转发
- JS-制作留言提交系统(支持ctrl+回车)