问题5:如何快速找到多个字典中的公共键(key)
方法一: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)
- 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)
- 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 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)
- b1 = map(dict.keys, [a1, a2, a3, a4]):以集合形式取每个字典的keys;
问题5:如何快速找到多个字典中的公共键(key)的更多相关文章
- 5、如何快速找到多个字典中的公共键(key) 6 如何让字典保持有序 7 如何实现用户的历史记录功能(最多n条)
5.如何快速找到多个字典中的公共键(key) from random import randint,sample #随机取数 # a = sample("ABCDEF",randi ...
- 如何快速找到多个字典中的公共键(key)
from random import randint, sample #sample随机取样 d1 = {k: randint(1, 4) for k in sample('abcdefgh', ra ...
- python数据结构-如何快速找到多个字典中的公共键
如何快速找到多个字典中的公共键 问题举例 统计每轮都进球的球员: 第1轮{‘tom’:1, 'meixi':2} 第2轮{‘coco’:3, 'meixi':4, 'marton':2} 第3轮{'c ...
- 如何快速查找到多个字典中的公共键(Key)---Python数据结构与算法相关问题与解决技巧
如何快速查找到多个字典中的公共键(Key)-? 实际案例: 西班牙足球甲级联赛,每轮球员进球统计: 第1轮: { '苏亚雷斯':1,'梅西':2,'本泽马':1,...} 第2轮: { '苏亚雷斯 ...
- Python强化训练笔记(五)——找出多个字典中的公共键
在这个问题中,我们期望得到的结果是找到这三轮比赛中,每轮都进球的球员都有谁.下面用python来模拟一下,先生成一批数据: >>> from random import randin ...
- python实例:快速找出多个字典中的公共键
1.生成随机字典 # 从abcdefg 中随机取出 3-6个,作为key, 1-4 的随机数作为 value s1 = {x : randint(1, 4) for x in sample('abcd ...
- Python3基础 dict keys+values 循环打印字典中的所有键和值
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- 在robotframework里面,怎么在已有的字典中加一个键值对呢
- 38-python基础-python3-检查字典中是否存在键或值
in 和 not in 操作符 请注意, 在前面的例子中,‘name’ in spam 本质上是一个简写版本.相当于'name' in spam.keys()
随机推荐
- zip 解压脚本
zip 解压脚本 gpk-unzip.py #!/usr/bin/env python # -*- coding: utf-8 -*- # unzip-gbk.py import os import ...
- 【leetcode刷题笔记】Max Points on a Line
Given n points on a 2D plane, find the maximum number of points that lie on the same straight line. ...
- java 遍历数组的几种方式
本文总结自: https://www.cnblogs.com/hellochennan/p/5373186.html 1. 传统方式 非常简单的for循环 int[] a = {1, 2, 3, 4} ...
- Python 运算符(算术运算符(+,-,*,**,/,//),逻辑运算符(not , or ,and),比较运算符(>,<,>=,=<),复合运算符(+=,-=,*=,/=,**=,//=))
# 一.算术运算符(+,-,*,**, /, //, %) # 加法运算符+ print(1 + 2) # 字符串相连 ") # 重载 print([1,2] + [3,4]) # 幂运算* ...
- delphi通过Idhttp和php交互
最近需要做delphi和php交互的方法: 就把这2个方法写了下 一,Get方法 const Url = 'http://www.cnblogs.com'; procedure TForm1.Butt ...
- 【转】如何在html与delphi间交互代码
[转]如何在html与delphi间交互代码 (2015-11-19 22:16:24) 转载▼ 标签: it 分类: uniGUI uniGUI总群中台中cmj朋友为我们总结了如下内容,对于利用de ...
- Linux查看端口占用进程
Linux查看端口占用进程 netstat -anlp|grep 8081 tcp /java 此处3195为进程ID
- cookie对比localStorage哪个适合作为网站皮肤存储
cookie对比localStorage哪个适合作为网站皮肤存储 cookie cookie : 一般由服务器生成,可设置失效时间.如果在浏览器生成,默认是关闭浏览器之后失效 存储大小:4k 每次都会 ...
- jquery带下拉菜单和焦点图
jQuery,下拉菜单,二级菜单,索引按钮,焦点图代码,jquery带下拉菜单和焦点图是一款顶部通栏带二级下拉菜单和banner导航菜单代码. JQuery特效代码来源:http://www.huiy ...
- JAVA发送手机短信
<p><span>JAVA发送手机短信,流传有几种方法:(1)使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注册 ...