Python3 集合

Posted Robin Hu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python3 集合相关的知识,希望对你有一定的参考价值。

集合(set)是一个无序的不重复元素序列。创建集合的语法是以大括号包住集合元素,或将集合元素以列表的形式传入内置函数set()。

In [33]: Winners = 'Company A','Company B'
In [34]: type(Winners)
Out [34]: set
In [35]: Losers = set(['Company C ' , ' Company D '])
In [36]: type(Losers)
Out [36]: set

集合中的元素没有顺序关系,故以Winners [0]的索引存取会报错。

空集合只能使用set()函数创建,不能用大括号,因为没包含任何元素的大括号{}表 示的是一个空的字典。

如果要利用字符串中的个别字符或列表中的元素来创建集合,同样必须使用set()函 数而不能用大括号:

In [20]: set('Quant')
Out [20]: 'Q', 'a', 'n', 't', 'u'
In [21]: type(set('Quant'))
Out [21]: set

若以大括号包住字符串,Python仍会创建一个集合,只不过整个字符串会被当成一个单独的元素:

In [22]: 'Quant'
Out[22]: 'Quant'
In [23] : type('Quant')
Out [23]: set

集合没有顺序关系,且不能重复.我们可以用比较运算符“==”来判断两个集合是否相等。

一、添加操作

add(x)将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作。
thisSet = set(("Google", "Runoob", "Taobao"))
thisSet.add("Facebook")
update( x )可以添加元素,且参数可以是列表,元组,字典等。
thisSet = set(("Google", "Runoob", "Taobao"))
thisSet.update(1,3)
thisSet.update([1,4],[5,6])  

二、移除操作

remove(x)将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。
thisSet = set(("Google", "Runoob", "Taobao"))
thisSet.remove("Taobao")
discard(x)移除集合中的元素,且如果元素不存在,不会发生错误。
thisSet = set(("Google", "Runoob", "Taobao"))
thisSet.discard("Google")
thisSet.discard("Facebook")

三、运算符

集合之间可以使用 - | &^号进行集合运算。

a = set('abracadabra')
b = set('alacazam')
c=a - b # 集合a中包含而集合b中不包含的元素
d=a | b # 集合a或b中包含的所有元素
e=a & b # 集合a和b中都包含了的元素
f=a ^ b # 不同时包含于a和b的元素

四、内置函数&方法

主要内置函数如下:

序号函数
1len(list)
集合元素个数
2max(list)
返回集合元素最大值
3min(list)
返回集合元素最小值
4list(seq)
将集合转换为列表

主要内置方法如下:

方法描述
add()为集合添加元素
clear()移除集合中的所有元素
copy()拷贝一个集合
difference()返回多个集合的差集
difference_update()移除集合中的元素,该元素在指定的集合也存在。
discard()删除集合中指定的元素
intersection()返回集合的交集
intersection_update()返回集合的交集。
isdisjoint()判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
issubset()判断指定集合是否为该方法参数集合的子集。
issuperset()判断该方法的参数集合是否为指定集合的子集
pop()随机移除元素
remove()移除指定元素
symmetric_difference()返回两个集合中不重复的元素集合。
symmetric_difference_update()移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
union()返回两个集合的并集
update()给集合添加元素

以上是关于Python3 集合的主要内容,如果未能解决你的问题,请参考以下文章

Python3教程之集合

Python3 集合

python3---集合

python3集合方法统计

python3 集合

python3中的集合