当前位置: 首页 > news >正文

【Python Cookbook】S1E08 在两个字典中寻找相同点

目录

  • 问题
  • 解决方案
  • 讨论

问题

在两个字典中,如果我们想要找到其中相同的地方,比如相同的键、相同的值等。

解决方案

考虑以下两个字典以及其中内容:

a = {'x': 1,'y': 2,'z': 3
}b = {'w': 10,'x': 11,'y': 2
}

要找出这两个字典中的相同之处,只需通过 keys()items() 方法执行常见的集合操作即可,比如:

print(a.keys() & b.keys())		# 找到a与b相同的键
print(a.keys() - b.keys())		# 找到a中b没有的键
print(a.items() & b.items())	# 找到a与b相同的键值对,返回的是相同值的键值对

在这里插入图片描述

讨论

字典,就是一系列键与值之间的映射集合。字典的 keys() 方法会返回 keys-view 对象,其中暴露了所有的键。关于字典的键,有一个很重要的特性就是支持常见的操作集合,比如求并集、交集和差集。因此,如果需要对字典的键做常见的集合操作,那么就可以直接使用 keys-view 对象而不必先将其转换为集合。

字典的 items() 方法返回 (key, value) 键值对组成的 keys-view 对象。这个对象支持类似的集合操作,可用来找出两个字典之间有哪些键值对有相同之处。

需要注意的是,尽管类似,但是 values() 方法不支持集合操作。根本上的原因,可能是值不具备唯一的特性。这会使得某些特定的集合操作是存在问题的。如果的确需要做操作,那么先请先将其转换为集合。

相关文章:

  • springboot kafka 提高拉取数量
  • Kamailio dialog timeout
  • 【设计模式】创建型-建造者模式
  • oracle mysql索引区别
  • 微信小程序-页面导航
  • 流量回放平台与传统测试工具的对比分析
  • MySQL复合查询操作【 函数接口集合 | 多表查询 | 子查询 | 表的内连外连】
  • 在Github找自己想要的的项目
  • 基于VGG16使用图像特征进行迁移学习的时装推荐系统
  • 安卓手机APP开发___广播概述
  • Java反射实战指南:反射机制的终极指南
  • NeuralForecast 推理 - 从csv文件里读取数据进行推理
  • Kafka 请求处理揭秘:从入门到精通
  • 小程序vant DropdownMenu 下拉菜单无法关闭
  • 【Linux】文件
  • CSS盒模型深入
  • Python连接Oracle
  • React-flux杂记
  • webpack+react项目初体验——记录我的webpack环境配置
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 回顾2016
  • 解析带emoji和链接的聊天系统消息
  • 经典排序算法及其 Java 实现
  • 网页视频流m3u8/ts视频下载
  • 延迟脚本的方式
  • 找一份好的前端工作,起点很重要
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • #Ubuntu(修改root信息)
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • #如何使用 Qt 5.6 在 Android 上启用 NFC
  • ${factoryList }后面有空格不影响
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (规划)24届春招和25届暑假实习路线准备规划
  • (利用IDEA+Maven)定制属于自己的jar包
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (一)appium-desktop定位元素原理
  • (一)模式识别——基于SVM的道路分割实验(附资源)
  • (转)Android学习笔记 --- android任务栈和启动模式
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • ... 是什么 ?... 有什么用处?
  • .net 8 发布了,试下微软最近强推的MAUI
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别
  • .net core 的缓存方案
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • .Net 知识杂记
  • .netcore 如何获取系统中所有session_如何把百度推广中获取的线索(基木鱼,电话,百度商桥等)同步到企业微信或者企业CRM等企业营销系统中...
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout
  • .stream().map与.stream().flatMap的使用