一文看懂Python中的集合运算&,|,

关于集合的概念

Python 中常用的集合方法是执行标准的数学运算,例如:求并集、交集、差集以及对称差。下图显示了一些在集合 A 和集合 B 上进行的标准数学运算。每个韦恩(Venn)图中的红色部分是给定集合运算得到的结果。

Python中相应符号:

  • &符号在Python中既可以执行通常的按位与运算,也可以执行set集合里面的交集运算
  • |:并集;也可以表示数字运算中的按位或运算
  • -:差集
  • ^:对称差集

举例

pre = ["berry","grape","pea_r","apple","banana","pear"]
pos = ["apple","banana","pear","potato","cucumber"]
pre_set = set(pre)  # 转换list为集合set
pos_set = set(pos)

union = pos_set | pre_set  # 并集
print('The union of the two sets above is:\n{}\n'.format(union))

intersection = pos_set & pre_set  # 交集
print('The intersection of two sets is:\n{}\n'.format(intersection))

only_in_preset = pre_set - pos_set  # 差集
print('The unique part in pre_set is:\n{}\n'.format(only_in_preset))

only_in_posset = pos_set - pre_set  # 差集
print('The unique part in pos_set is:\n{}\n'.format(only_in_posset))

sym_set_diff = pos_set^pre_set      # 对称差集
print('The symmetric set difference of the two sets is:\n{}'.format(sym_set_diff))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

输出结果如下:

The union of the two sets above is:
{'potato', 'grape', 'banana', 'pear', 'berry', 'pea_r', 'cucumber', 'apple'}

The intersection of two sets is:
{'pear', 'apple', 'banana'}

The unique part in pre_set is:
{'berry', 'grape', 'pea_r'}

The unique part in pos_set is:
{'potato', 'cucumber'}

The symmetric set difference of the two sets is:
{'potato', 'pea_r', 'berry', 'cucumber', 'grape'}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
(0)

相关推荐

  • 第75天: Python 操作 Redis 数据库介绍

    Redis 作为常用的 NoSql 数据库,主要用于缓存数据,提高数据读取效率,那在 Python 中应该如果连接和操作 Redis 呢?今天就为大概简单介绍下,在 Python 中操作 Redis ...

  • 'you are a peach'才不是“你是个桃子”,真正意思很暖心!

    英语·水果俚语 1.Peach 桃子 be a peach 含义:be nice 友善,人好 例句:I think that guy's a peach. 我觉得那家伙人很好. 2.Cherry 樱桃 ...

  • Python入门(6)——列表

    列表的定义 列表是由一系列按特定顺序排列的元素组成. 列表可以包含不同类型的元素.列表内元素的值可以重复. 列表通常用单词名称的复数表示. 列表用方括号 [ ] 表示,元素用 , 隔开. >&g ...

  • 温故而知新--day1

    变量类型 变量是计算机存储数据的内存空间,由于计算机可以处理不同的数据,不同的数据就要定义不同的数据类型.python的数据类型很多,还可以自定义数据类型,常用的一般数据类型有以下几种: 整型: 在p ...

  • 一文看懂:中证100、中证500、中证800、中证1000哪个最适合定投

    去年市场低迷,指数基金却悄然走上快车道--以ETF为代表的指数型基金迎来爆发式增长,成为市场中的一抹亮色. 今年以来,指数基金依然延续这一增长势头,截至10月10日,年内新发指数基金198只,份额超3 ...

  • 一文读懂Python中的异常处理

    异常处理语句 try...excpet...finally 实例代码 def div(a, b):    try:        print(a / b)    except ZeroDivision ...

  • 一文看懂Python异常处理(exception, try和raise语句)

    一个Python程序在运行时,如果解释器遇到到一个错误,会停止程序的执行,并且提示一些错误信息,这就是异常(Exception).即便Python程序的语法是正确的,还是会有各种各样意想不到的异常或错 ...

  • 一文搞懂Python中的核心概念:导入,模块,包

    前言 Python作为一个解释器,一个程序,如果不导入任何外部模块或包,就做不了什么.理解Python如何导入模块和包将在几乎所有的场景中都很有帮助. 本文中的所有代码都是在Linux(Ubuntu) ...

  • 一文看懂Python的装饰器

    在 Python 中使用装饰器,可以在不修改代码的前提下,为已有的函数添加新功能,例如打印日志.缓存数据等. 为什么需要装饰器 假如你要为某个函数添加新功能.直接的办法是,在该函数中实现这个功能,或者 ...

  • 一文看懂Python系列文章 - 入门与进阶必备

    本文收集整理了本公众号已发表的一文看懂Python系列精华文章,建议先收藏后阅读. 入门篇 一文看懂Python列表.元组和字符串操作 一文看懂Python字典类型数据常见操作及排序 一文看懂Pyth ...

  • 一文看懂家谱中三族、五服、六亲、七庙、九族的意思

    家谱从最初的口传结绳,到之后的书籍笔录,再到现在的电子数据库. 家谱不仅是记录的世系传承,更能直观看出血脉关系的亲疏远近. 由此,也衍生出了很多专用词. 三族 这个要分为三点来讲. [一是指父.子.孙 ...

  • 一文看懂Python面向对象编程(Python学习与新手入门必看)-绝对原创

    尽管网上有许多关于Python面向对像的编程介绍,小编我看完后总觉得不是很满意,也不过瘾,所以决定自己亲自动手写篇文章,帮你理解Python面向对象的编程的基本概念和核心思想.本文内含很多实例代码,以 ...

  • 一文看懂Python系列之装饰器(decorator)(工作面试必读)

    Python的装饰器(decorator)可以说是Python的一个神器,它可以在不改变一个函数代码和调用方式的情况下给函数添加新的功能.Python的装饰器同时也是Python学习从入门到精通过程中 ...