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里面,怎么在已有的字典中加一个键值对呢
随机推荐
- 文件转byte[ ]
/** * 将文件转换成byte数组 * @param tradeFile * @return */public byte[] fileToByte(String fileUrl){ // 第1步.使 ...
- 安装node --- 与升级
1.安装node流程,请参照菜鸟教程的安装教程 http://www.runoob.com/nodejs/nodejs-install-setup.html 2.这里说一下踩的坑, 问题一.Win ...
- python 数据压缩
zlib 压缩 import zlib import this s = this.s.encode('utf8')*10 for i in range(10): data = zlib.compres ...
- 【总】IdentityServer4 32篇汇总
随笔分类 - IdentityServer4 IdentityServer4 常见问题 - 用户拒绝授权后报错 摘要: 1.问题说明 在 IdentityServer4 Web 授权中,一般会有一个显 ...
- SQLServer存储过程学习记录
简单来说,存储过程就是一条或者多条sql语句的集合,可视为批处理文件,但是其作用不仅限于批处理. 一.存储过程的概述 SQL Server中的存储过程是使用T_SQL编写的代码段.它的目的在于能够方便 ...
- 判断list中元素是否是相邻
private static List<Integer> findShunZi(List<Integer> tmpCards){ List<Integer> lis ...
- C# JavaScriptSerializer 自定义序列化
虽然,我个人建议使用Json.Net. 但大家需求不同.遇到一个朋友,他有个需求JavaScriptSerializer并且序列化时,隐藏基类成员. 这里我采用自定义序列化来实现: public st ...
- java -jar 设置日志位置
使用 java -jar形式启动,设定日志的位置 语法如下: java -jar xxx.jar > xxx.log References java -jar 设置日志位置
- macOS截屏
Command+Shift+3: 全屏幕截屏,并自动保存在桌面 Command+Shift+4: 手动截屏,并自动保存在桌面 Command+Shift+4, + Space, 之后点击程序的窗口,实 ...
- 【leetcode】949. Largest Time for Given Digits
题目如下: Given an array of 4 digits, return the largest 24 hour time that can be made. The smallest 24 ...