python集合交集运算(Pythonset集合基本操作添加)

Python set集合最常用的操作是向集合中添加、删除元素,以及集合之间做交集、并集、差集等运算,本节将一一讲解这些操作的具体实现。

python集合交集运算(Pythonset集合基本操作添加)(1)

向set集合中添加元素

set集合中添加元素,可以使用set类型提供的add()方法实现,该方法的语法格式为:

setname.add(element)1复制代码类型:[python]

其中,setname表示要添加元素的集合,element表示要添加的元素内容。

需要注意的是,使用add()方法添加的元素,只能是数字、字符串、元组或者布尔类型(True和False)值,不能添加列表、字典、集合这类可变的数据,否则Python解释器会报TypeError错误。例如:

a = {1,2,3} a.add((1,2)) print(a) a.add([1,2]) print(a)12345复制代码类型:[python]

运行结果为:

{(1, 2), 1, 2, 3} Traceback (most recent call last): File "C:\Users\mengma\Desktop\1.py", line 4, in <module> a.add([1,2]) TypeError: unhashable type: 'list'12345复制代码类型:[python]

从set集合中删除元素

删除现有set集合中的指定元素,可以使用remove()方法,该方法的语法格式如下:

setname.remove(element)1复制代码类型:[java]

使用此方法删除集合中元素,需要注意的是,如果被删除元素本就不包含在集合中,则此方法会抛出KeyError错误,例如:

a = {1,2,3} a.remove(1) print(a) a.remove(1) print(a)12345复制代码类型:[python]

运行结果为:

{2, 3} Traceback (most recent call last): File "C:\Users\mengma\Desktop\1.py", line 4, in <module> a.remove(1) KeyError: 112345复制代码类型:[python]

上面程序中,由于集合中的元素1已被删除,因此当再次尝试使用remove()方法删除时,会引发KeyError错误。

如果我们不想在删除失败时令解释器提示KeyError错误,还可以使用discard()方法,此方法和remove()方法的用法完全相同,唯一的区别就是,当删除集合中元素失败时,此方法不会抛出任何错误。

例如:

a = {1,2,3} a.remove(1) print(a) a.discard(1) print(a)12345复制代码类型:[python]

运行结果为:

{2, 3} {2, 3}12复制代码类型:[python]

Python set集合做交集、并集、差集运算

集合最常做的操作就是进行交集、并集、差集以及对称差集运算,首先有必要给大家普及一下各个运算的含义。

python集合交集运算(Pythonset集合基本操作添加)(2)

图1中,有2个集合,分别为set1={1,2,3}和set2={3,4,5},它们既有相同的元素,也有不同的元素。以这两个集合为例,分别做不同运算的结果如表1所示。

运算操作

Python运算符

含义

例子

交集

&

取两集合公共的元素

>>> set1 & set2{3}

并集

|

取两集合全部的元素

>>> set1 | set2{1,2,3,4,5}

差集

-

取一个集合中另一集合没有的元素

>>> set1 - set2{1,2}>>> set2 - set1{4,5}

对称差集

^

取集合 A 和 B 中不属于 A&B 的元素

>>> set1 ^ set2{1,2,4,5}

开课吧广场-人才学习交流平台

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页