Python cookbook(数据结构与算法)实现查找两个字典相同点的方法

作者:垄上行 时间:2022-07-20 22:09:46 

本文实例讲述了Python实现查找两个字典相同点的方法。分享给大家供大家参考,具体如下:

问题:寻找两个字典中间相同的地方(相同的键、相同的值等)

解决方案:通过keys()或者items()方法来执行常见的集合操作(比如求并集、交集和差集)

Python cookbook(数据结构与算法)实现查找两个字典相同点的方法


>>> a={'x':1,'y':2,'z':3}
>>> b={'ww':10,'x':11,'y':2}
>>> a.keys()& b.keys() #键的交集
{'y', 'x'}
>>> a.keys()- b.keys()#键的差集
{'z'}
>>> a.keys()| b.keys()#键的并集
{'ww', 'y', 'x', 'z'}
>>> a.items()& b.items()
{('y', 2)}
>>> a.items()- b.items()
{('z', 3), ('x', 1)}
>>> a.items()| b.items()
{('ww', 10), ('z', 3), ('x', 1), ('x', 11), ('y', 2)}
>>>

这些类型的操作也可用来修改或过滤掉字典中的内容。例如:


>>> c = {key:a[key] for key in a.keys()-{'w','z'}} #新建一个去掉某些键的新字典
>>> c
{'y': 2, 'x': 1}
>>>

总结:

字典的keys()方法、items()方法支持集合操作,但是values()方法不支持。因为在字典中从值的角度来看并不能保证所有的值都是唯一的,这会导致某些集合操作存在问题。但是可以通过将值转化为集合来实现此类操作。

(代码摘自《Python Cookbook》)

希望本文所述对大家Python程序设计有所帮助。

来源:http://www.cnblogs.com/apple2016/p/5746626.html

标签:Python,数据结构与算法,字典
0
投稿

猜你喜欢

  • Mysql出现问题:error while loading shared libraries: libaio解决方案

    2024-01-13 00:12:00
  • 一篇文章带你了解python标准库--os模块

    2023-06-23 01:19:10
  • Echarts基本入门之柱状图、折线图通用配置

    2024-04-28 09:37:10
  • 使用python PIL库实现简单验证码的去噪方法步骤

    2022-05-05 00:48:46
  • python 提取html文本的方法

    2021-05-27 03:43:46
  • 关于Python形参打包与解包小技巧分享

    2021-06-08 21:43:39
  • SQL Server误区30日谈 第16天 数据的损坏和修复

    2024-01-24 04:13:32
  • 解读python中的类型提示(type hint)

    2023-07-15 20:16:27
  • Python3.6正式版新特性预览

    2023-11-02 09:27:09
  • 巧用一条SQL 实现其它进制到十进制转换

    2009-01-19 13:16:00
  • Golang依赖注入工具digo的使用详解

    2023-08-27 13:00:43
  • Python语言实现机器学习的K-近邻算法

    2023-04-25 02:09:58
  • SQL离前端有多远?

    2009-05-21 10:37:00
  • python openvc 裁剪、剪切图片 提取图片的行和列

    2022-07-03 15:29:40
  • MySQL常用分库分表方案汇总

    2024-01-18 10:51:14
  • Python图像处理PIL各模块详细介绍(推荐)

    2024-01-01 18:31:43
  • pandas计数 value_counts()的使用

    2023-05-02 02:06:13
  • Python+OpenCV进行人脸面部表情识别

    2021-07-18 22:47:35
  • 在Python中预先初始化列表内容和长度的实现

    2022-03-17 04:30:37
  • Python小程序之在图片上加入数字的代码

    2023-11-14 08:26:48
  • asp之家 网络编程 m.aspxhome.com