python基础一 ------如何获取多个字典相同的键
需求:
足球赛第一场进去统计 {"A":3,"B":2,"C":1}
足球赛第二场进去统计 {"A":3,"C":1}
足球赛第二场进去统计 {"A":2,"B":2}
统计每场都有进球的人---->找到多个字典的公共建
解决方法:
一:普通方法
二:集合
三:map(),reduce(),当N场比赛时
from random import randint,sample
#先生成随机的字典s1,s2,s3,
#sample从给定的字符串中选取后面给定的数个,组成列表
#sample("ABCFD",3)
#['A','C']
s1 = {k:randint(3,6) for k in sample("ABCDEF",randint(1,5))}
s2 = {k:randint(3,6) for k in sample("ABCDEF",randint(1,5))}
s3 = {k:randint(3,6) for k in sample("ABCDEF",randint(1,5))}
print(s1)
print(s2)
print(s3)
#方法一:
print("-------------------方法一-----------------") coment = []
for i in s1:
if i in s2 and i in s3:
coment.append(i)
print(coment)
print("-------------------方法二-----------------")
#方法二: 将字典转化为集合(python2 dict.viewkeys(),3中 dict.key()),然后取并集
k1 = s1.keys()
k2 = s2.keys()
k3 = s3.keys()
coment = k1&k2&k3
print(coment)
print("-------------------方法三-----------------")
#当N个时
from functools import reduce
x = map(lambda s:s.keys(),[s1,s2,s3])
#reduce 用法,必须接受俩参数进行操作,之后将前面两个参数和从后面的列表中一个一个取出进行之前相同的操作
coment = reduce(lambda x,y:x&y,x)
print(coment)
python基础一 ------如何获取多个字典相同的键的更多相关文章
- Python基础(二) —— 字符串、列表、字典等常用操作
一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. 二.三元运算 result = 值1 if 条件 else 值2 如果条件为真:result = 值1如果条件为 ...
- python基础3(元祖、字典、深浅copy、集合、文件处理)
本次内容: 元祖 字典 浅copy和深copy 集合 文件处理 1.1元祖 元祖(tuple)与列表类似,不同之处在于元祖的元素不能修改,元祖使用小括号(),列表使用方括号[].元祖创建很简单,只需要 ...
- Python基础5:列表 元祖 字典 集合
[ 列表] 列表(list)是Python以及其他语言中最常用到的数据结构之一.Python使用使用中括号 [ ] 来解析列表. 列表是可变的(mutable)——即:可以改变列表的内容. 相关操作: ...
- Python 基础【第六篇】字典
1.字典定义: 字典和列表类似 只是字典标示符用的是字符而列表用的是0开始的数字,字典中每个元素对应一个值 这个元素叫做键(key)键值不能重复 value(值)可以重复 2.字典格式: 格式一: [ ...
- Python基础-列表、元祖、字典、字符串
列表和分组 序列概览: 数据结构是通过某种方式组织在一起的数据元素的集合.这些元素可以是数字.字符,甚至可以是其他数据结构. 在python中,最基本的数据结构是序列(sequence). 序列中的每 ...
- python基础之 列表,元组,字典
other help(str.strip) #查看是否有返回值以及返回值类型[] :称为索引操作符 1.列表 列表相比字符串来说能存储大量数据的python的基本数据类型,并且也拥有字符串的一些方法( ...
- Python基础5:列表 元祖 字典 集合 Json
[ 列表] 列表(list)是Python以及其他语言中最常用到的数据结构之一.Python使用使用中括号 [ ] 来解析列表. 列表是可变的(mutable)——即:可以改变列表的内容. 相关操作: ...
- Python基础知识-05-数据类型总结字典
python其他知识目录 1.一道题,选择商品的序号.程序员和用户各自面对的序号起始值 如有变量 googs = ['汽车','飞机','火箭'] 提示用户可供选择的商品: 0,汽车1,飞机2,火箭用 ...
- python基础知识-列表,元组,字典
列表(list) 赋值方法: l = [11,45,67,34,89,23] l = list() 列表的方法: #!/usr/bin/env python class list(object): & ...
随机推荐
- extjs5(项目中文件的加载过程)
现在来看看js类加载过程.如下图所示: 1、首先:浏览器中输入 localhost:1841 ,调用 index.html; <!DOCTYPE HTML> <html> &l ...
- mysql5.7 root用户默认密码
1. 查找密码 Mysql 5.7 在自动初始化数据库的时候,会生成root用户的默认密码. 通过 grep "temporary password" /var/log/mysql ...
- centos7.4/rehat7.0系统安装
以下是安装过程:(图解),以下是rehat为例 这里可以改为centos的镜像 之后就可以用了,记得做快照!!! 拓展:分离使用 效果:
- 插件使用一表单验证一validation
jquery-validation是一款前端经验js插件,可以验证必填字段.邮件.URL.数字范围等,在表单中应用非常广泛. 官方网站 https://jqueryvalidation.org/ 源码 ...
- James Munkres Topology: Sec 37 Exer 1
Exercise 1. Let \(X\) be a space. Let \(\mathcal{D}\) be a collection of subsets of \(X\) that is ma ...
- Application Initialization UI for IIS 7.5
IIS Application Initialization for IIS 7.5 enables website administrators to improve the responsiven ...
- 【转】Windows Server 2008 R2下安装 .net framework3.5
原文地址:http://hi.baidu.com/tonny_dxf/item/6831bcdc3d7c06e7b2f7777c [你必须用角色管理工具安装.net framework3.5 ...
- mysql数据库授权
mysql数据库授权所有人 grant all privileges on *.* to 'root'@'%' identified by 'password'; flush privileges; ...
- ubuntu系统更新源
问题引入:在ubuntu上安装libmysqlclient-dev一直提示Connecting to mirrirs.cqu.edu.cn
- Codeforces 935E Fafa and Ancient Mathematics dp
Fafa and Ancient Mathematics 转换成树上问题dp一下. #include<bits/stdc++.h> #define LL long long #define ...