python如何获取list字典的交集、并集和差集

 更新时间:2024年09月10日 10:18:59   作者:羊羊猪  
在Python编程中,对列表(list)进行去重可通过set运算符法和set函数法实现,多个列表的交、并、差集也能简便操作,此外,字典(dict)的键(keys)和键值对(items)的获取也是常用技巧,这些操作方法不仅提高了代码的简洁性,也增强了数据处理的效率

1. List

Example

a = list([1, 3, 5, 2, 10])
b = list([1, 4, 5, 10, 20])

1.1 set运算符法

# 求交集
list(set(a) & set(b)) # [1, 10, 5]
# 求并集
list(set(a) | set(b)) # [1, 2, 3, 4, 5, 10, 20]
# 求差集
# a有而b没有
list(set(a) - set(b))  # [2, 3]
# b有而a没有
list(set(b) - set(a)) # [4, 20]
# 对称差集
list(set(a) ^ set(b))  # [2, 3, 4, 20]

1.2 set函数法

# 求交集
list(set(a).intersection(b)) # [1, 10, 5]
# 求并集
list(set(a).union(b)) # [1, 2, 3, 4, 5, 10, 20]
# 求差集
# a有而b没有
list(set(a).difference(set(b)))  # [2, 3]
# b有而a没有
list(set(b).difference(set(a))) # [4, 20]
# 对称差集
list(set(a).symmetric_difference(set(b)))  # [2, 3, 4, 20]

1.3 多个list的交并差集

a = list([1, 3, 5, 2, 10])
b = list([1, 4, 5, 10, 20])
c = list([2, 4, 1, 5, 7, 10])

# 求交集
list(set(a).intersection(b, c)) # [1, 10, 5]
# 求并集
list(set(a).union(b)) # [1, 2, 3, 4, 5, 20, 7, 10]
# a中独有而b, c中没有
list(set(a).difference(b, c)) # [3]

2. 字典 dict

Example

a = {
   'x' : 1,
   'y' : 2,
   'z' : 3
}

b = {
   'w' : 9,
   'x' : 5,
   'y' : 2
}

2.1 keys

# 交集
a.keys() & b.keys()
# 并集
a.keys() | b.keys()
# 差集
a.keys() - b.keys()
b.keys() - a.keys()

2.2 items (keys, values)

# 交集
a.items() & b.items()
# 并集
a.items() | b.items()
# 差集
a.items() - b.items()
b.items() - a.items()

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python爬虫中IP池的使用小结

    Python爬虫中IP池的使用小结

    在网络爬虫的世界中,IP池是一个关键的概念,它允许爬虫程序在请求网页时使用多个IP地址,从而降低被封禁的风险,提高爬虫的稳定性和效率,本文将深入探讨Python爬虫中IP池的使用,以及如何构建和维护一个可靠的IP池,感兴趣的朋友一起看看吧
    2024-01-01
  • 使用Python构造hive insert语句说明

    使用Python构造hive insert语句说明

    这篇文章主要介绍了使用Python构造hive insert语句说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • python 图片去噪的方法示例

    python 图片去噪的方法示例

    这篇文章主要介绍了python 图片去噪的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python 几行代码即可实现人脸识别

    Python 几行代码即可实现人脸识别

    Python中实现人脸识别功能有多种方法,依赖于python胶水语言的特性,我们通过调用包可以快速准确的达成这一目的,本文给大家分享使用Python实现简单的人脸识别功能的操作步骤,感兴趣的朋友一起看看吧
    2022-02-02
  • 解决Pycharm运行时找不到文件的问题

    解决Pycharm运行时找不到文件的问题

    今天小编就为大家分享一篇解决Pycharm运行时找不到文件的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • python深度总结线性回归

    python深度总结线性回归

    这篇文章主要介绍了python的深度总结之线性回归,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • 如何将Python彻底卸载的三种方法

    如何将Python彻底卸载的三种方法

    通常我们在一些软件的使用上有碰壁,第一反应就是卸载重装,所以有小伙伴就问我Python怎么卸载才能彻底卸载干净,今天这篇文章,小编就来教大家如何彻底卸载Python,需要的朋友可以参考下
    2025-04-04
  • Pytorch 统计模型参数量的操作 param.numel()

    Pytorch 统计模型参数量的操作 param.numel()

    这篇文章主要介绍了Pytorch 统计模型参数量的操作 param.numel(),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python发展史及网络爬虫

    Python发展史及网络爬虫

    Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。这篇文章给大家介绍了python发展史及网络爬虫知识,感兴趣的朋友跟随小编一起看看吧
    2019-06-06
  • Python  pandas中的shift位移操作方法

    Python  pandas中的shift位移操作方法

    shift() 函数是 Pandas 中用于移动或偏移数据的重要工具,它可以处理时间序列数据、计算数据差值以及进行数据预处理,本文介绍Python  pandas中的shift位移操作方法,感兴趣的朋友跟随小编一起看看吧
    2024-03-03

最新评论