5、如何快速找到多个字典中的公共键(key) 6 如何让字典保持有序 7 如何实现用户的历史记录功能(最多n条)
5、如何快速找到多个字典中的公共键(key)


from random import randint,sample
#随机取数
# a = sample("ABCDEF",randint(5,6))
# print(a)
# b1 = {x:randint(1,4) for x in sample("ABCDEF",randint(3,6))}
# b2 = {x:randint(1,4) for x in sample("ABCDEF",randint(3,6))}
# b3 = {x:randint(1,4) for x in sample("ABCDEF",randint(3,6))}
# print(b1,b2,b3)
b1 = {'A': 4, 'D': 4, 'F': 4, 'B': 3}
b2 = {'A': 4, 'B': 3, 'C': 4, 'D': 3, 'F': 4, 'E': 4}
b3 = {'A': 1, 'B': 1, 'C': 1, 'D': 4, 'F': 4} #找出公共key方法一:
ret = []
for x in b1:
if x in b2 and x in b3:
ret.append(x) print(ret) #方法二通过集合方式找出交集
s1 = set(b1.keys())
s2 = set(b2.keys())
s3 = set(b3.keys())
info = s1 & s2 & s3
print(info) map(dict.keys,[s1,s2,s3]) from functools import reduce print(reduce(lambda a,b:a & b,map(dict.keys,[b1,b2,b3])))
6 如何让字典保持有序

我们创建的字典默认是无序的,python有个模块QrderedDict可以记录存入元素的顺序,然后迭代时会按顺序取出
from collections import OrderedDict
dict1 = OrderedDict() dict1[""] = 1
dict1[""] = 2
dict1[""] = 3
dict1[""] = 4
print(dict1)
for k,v in dict1.items():
print(k,v) result:
OrderedDict([('1', 1), ('2', 2), ('3', 3), ('4', 4)])
1 1
2 2
3 3
4 4
7 如何实现用户的历史记录功能(最多n条)


python标准库里有个存储队列的模块deque,可以用来存储历史数据
from collections import deque
s = deque([],4)
while True:
d = input("请输入数字")
if d.isdigit():
print("输入的是数字")
s.append(d)
elif d == "history":
print(s)
else:
break result:
请输入数字5
输入的是数字
请输入数字6
输入的是数字
请输入数字7
输入的是数字
请输入数字8
输入的是数字
请输入数字history
deque(['5', '6', '7', '8'], maxlen=4)
请输入数字100
输入的是数字
请输入数字history
deque(['6', '7', '8', '100'], maxlen=4)
请输入数字
5、如何快速找到多个字典中的公共键(key) 6 如何让字典保持有序 7 如何实现用户的历史记录功能(最多n条)的更多相关文章
- 如何快速查找到多个字典中的公共键(Key)---Python数据结构与算法相关问题与解决技巧
如何快速查找到多个字典中的公共键(Key)-? 实际案例: 西班牙足球甲级联赛,每轮球员进球统计: 第1轮: { '苏亚雷斯':1,'梅西':2,'本泽马':1,...} 第2轮: { '苏亚雷斯 ...
- 问题5:如何快速找到多个字典中的公共键(key)
方法一:for in循环 from random import randint, sample a1 = {k; randint(1, 4) for k in 'abcdefg'} a2 = {k; ...
- 如何快速找到多个字典中的公共键(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 ...
- 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 ...
- 38-python基础-python3-检查字典中是否存在键或值
in 和 not in 操作符 请注意, 在前面的例子中,‘name’ in spam 本质上是一个简写版本.相当于'name' in spam.keys()
- Python3基础 dict keys+values 循环打印字典中的所有键和值
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- 在robotframework里面,怎么在已有的字典中加一个键值对呢
随机推荐
- 18-python基础-字符串(1)
1.字符串的定义 字符串就是一串字符,是编程语言中表示文本的数据类型. 在python中可以使用一对双引号“”或者一对单引号‘’定义一个字符串. 可以使用索引获取一个字符串中指定位置的字符,索引计数从 ...
- Python之小测试:用正则表达式写一个小爬虫用于保存贴吧里的所有图片
很简单的两步: 1.获取网页源代码 2.利用正则表达式提取出图片地址 3.下载 #!/usr/bin/python #coding=utf8 import re # 正则表达式 import urll ...
- npm install 时 提示err code EINTEGRITY报错
1.报错截图如图: 2.报错缘由:因npm 版本问题导致 3.解决方法:升级npm版本(npm i -g npm),再重新npm install即可.
- 2019-9-2-win10-uwp-Markdown
title author date CreateTime categories win10 uwp Markdown lindexi 2019-09-02 12:57:38 +0800 2018-2- ...
- compiz隐藏最大化窗口标题栏
xfwm换了compiz试试,还行,挺方便.就是这个隐藏最大化窗口的标题栏没有现成的ui设置项,google到如下解决方案: 修改后立即生效. https://planetkris.com/2009/ ...
- slim.arg_scope()的使用
[https://blog.csdn.net/u013921430 转载] slim是一种轻量级的tensorflow库,可以使模型的构建,训练,测试都变得更加简单.在slim库中对很多常用的函数进行 ...
- Gym 102007I 二分 网络流
题意:给你一张图,每个城市有一些人,有不超过10个城市有避难所,避难所有容量上限,问最快多久可以让所有人进入避难所? 思路:二分时间,对于每个时间跑一遍最大流,判断最大流是不是人数即可.我们还需要用二 ...
- 【CodeVS】 纯OI题
[1203] 判断浮点数是否相等 [青铜 Bronze] 我们一般认为两个浮点数相等,当且当他们之间的误差不超过1e-8. /* 作者:Wanying 题目:p1203 判断浮点数是否相等 */ /* ...
- JavaScript实现时间上一天和下一天切换
JavaScript实现时间上一天和下一天切换 1.先获取时间戳毫秒数 var date = new Date()//实例化时间戳 var time = date.getTime()//获取当前毫秒数 ...
- delphi 打印 PDevMode 说明
//PDevMode = _devicemodeW;// _devicemodeW = record// dmDeviceName: array[0..CCHDEVICENAME - 1] of Wi ...