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的元素
四、内置函数&方法
主要内置函数如下:
序号 | 函数 |
---|---|
1 | len(list) 集合元素个数 |
2 | max(list) 返回集合元素最大值 |
3 | min(list) 返回集合元素最小值 |
4 | list(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 集合的主要内容,如果未能解决你的问题,请参考以下文章