python基础一 ------如何获取多个字典相同的键

需求:

足球赛第一场进去统计  {"A":3,"B":2,"C":1}
足球赛第二场进去统计  {"A":3,"C":1}
足球赛第二场进去统计  {"A":2,"B":2}
统计每场都有进球的人---->找到多个字典的公共建

解决方法:

一:普通方法
二:集合
三:map(),reduce(),当N场比赛时

 1 from random import randint,sample
 2 #先生成随机的字典s1,s2,s3,
 3 #sample从给定的字符串中选取后面给定的数个,组成列表
 4 #sample("ABCFD",3)
 5 #[‘A‘,‘C‘]
 6 s1 = {k:randint(3,6) for k in sample("ABCDEF",randint(1,5))}
 7 s2 = {k:randint(3,6) for k in sample("ABCDEF",randint(1,5))}
 8 s3 = {k:randint(3,6) for k in sample("ABCDEF",randint(1,5))}
 9 print(s1)
10 print(s2)
11 print(s3)
12 #方法一:
13 print("-------------------方法一-----------------")
14
15 coment = []
16 for i in s1:
17     if i in s2 and i in s3:
18         coment.append(i)
19 print(coment)
20 print("-------------------方法二-----------------")
21 #方法二: 将字典转化为集合(python2 dict.viewkeys(),3中 dict.key()),然后取并集
22 k1 = s1.keys()
23 k2 = s2.keys()
24 k3 = s3.keys()
25 coment = k1&k2&k3
26 print(coment)
27 print("-------------------方法三-----------------")
28 #当N个时
29 from functools import reduce
30 x = map(lambda s:s.keys(),[s1,s2,s3])
31 #reduce 用法,必须接受俩参数进行操作,之后将前面两个参数和从后面的列表中一个一个取出进行之前相同的操作
32 coment = reduce(lambda x,y:x&y,x)
33 print(coment)
时间: 2024-10-08 15:24:36

python基础一 ------如何获取多个字典相同的键的相关文章

Python基础教程系列:七、字典

字典是Python语言中唯一的映射类型.映射类型不要求用数字值做索引就可以从一个容器中获取对应的数据项.你可以用键(key)直接映射到值,这就是为什么叫映射的原因,映射,我的理解就是索引,顺藤摸瓜就可以找到背后的幕后者.字典是Python中最强大的数据类型之一. 刚开始接触字典还是在Hadoop中的mapreduce,其实说白了就是键值对(key/value),所谓的索引通常是指key,而幕后者通常指的是value.每个key对应一个value,主要的好处是方面归类,而且按照key进行查找val

2.python基础之—列表,元组,字典,集合,字符串的使用方法

一.关于python序列的简介. python里面的序列大部分都可以执行,索引,切片,加,乘,检查长度,以及检查某个成员是否存在,甚至还可以找出这个序列中最小的元素和最大的元素,并且序列都是可迭代的. 解释下个人理解的迭代,迭代(iteration),序列中的迭代就是对序列中的每个元素重复执行某些操作/ 具体的迭代方式后面会说到. 下面就说说python序列的共有特点. 1.索引 一个序列中,所有的元素都有自己的编号,这个编号是从0开始的,这个编号就是所谓的索引,这些元素可以通过索引来依次访问.

python基础知识-列表,元组,字典

列表(list) 赋值方法: l = [11,45,67,34,89,23] l = list() 列表的方法: 1 #!/usr/bin/env python 2 3 class list(object): 4 """ 5 list() -> new empty list 6 list(iterable) -> new list initialized from iterable's items 7 """ 8 def append

Python基础教程系列:七、字典(续)

不好意思,昨天有急事耽搁了,今天我们接着说字典.首先通过key往字典中添加三条记录.其中方括号中的那就是key,等式右边的就是value,别学完了序列后,总感觉中括号中的那是下角标. 那么字典的更新,包括增.删.改也都分别作了介绍.删除整个字典相对较少,毕竟实际工作中不像做练习,随便删了就可以.那么真想删除整个字典,del dict1即可.其中pop(),这不就相当于出栈操作么,取出来了也就相当于删除了. 字典操作: 1.字典比较:cmp(),这个比较起来也比较复杂,毕竟也不是完全数与数比大小或

Python基础-列表、元祖、字典、字符串

列表和分组 序列概览: 数据结构是通过某种方式组织在一起的数据元素的集合.这些元素可以是数字.字符,甚至可以是其他数据结构. 在python中,最基本的数据结构是序列(sequence). 序列中的每一个元素被分配一个序号----即元素的位置,也称为索引.下标.第一个索引是0,第二个索引是1,以此类推. Python包含6种内建的序列,此次重点讨论最常用的两种类型:列表.元祖.其他内建序列类型包括:字符串.Unicode字符串.buffer对象和xrange对象.接下来讲解对所有序列都通用的操作

Python基础教程笔记十四:字典(Dictionary)

Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示: d = {key1 : value1, key2 : value2 } 键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一. >>>dict = {'a': 1, 'b': 2, 'b': '3'}; >>> dict

《python基础教程》第4章字典:当索引不好用时 读书笔记

第四章 字典:当索引不好用时 1.通过名字来引用值的数据结构,这种数据结构叫做映射,字典是python中唯一内建的映射类型. 2.len():可以返回字典中的键-值对的数量. 3.del 关键字也可以删除字典中的项. 4.in 也可以检查字典中是否存在某一项. 5.字典中的键可以是任意不可变的数据类型,如浮点型,元组,字符串. 6.字典也可以用于格式化字符串. 7.字典方法: ①clear():清空字典中的所有项. ②copy():浅复制一个字典,感觉没什么用,从copy模块中用deepcopy

python基础项目实战:获取本机所有IP地址的方法

前言 今天为大家介绍一个利用python获取本机所有IP地址的具体代码,具有一定的参考价值,希望能够帮助到大家,代码如下: 导入第三方库 查看主机名 主机IP 大家在学python的时候肯定会遇到很多难题,以及对于新技术的追求,这里推荐一下我们的Python学习扣qun:784758214,这里是python学习者聚集地!!同时,自己是一名高级python开发工程师,从基础的python脚本到web开发.爬虫.django.数据挖掘等,零基础到项目实战的资料都有整理.送给每一位python的小伙

python基础巩固(变量类型:字典、集合、元组、列表、数字、字符串)

Python 3 教程 菜鸟教程 https://www.runoob.com/python3/python3-tutorial.html 在控制台DOS运行.py文件 先切换到.py文件所在目录 再输入python hello.py (输入python3 hello.py执行会报错,这里与菜鸟教程不同) 在Unix & Linux 平台安装 Python3 先下载Unix/Linux的源码压缩包 https://www.python.org/downloads/source/ 解压压缩包,并安