一、集合概念
- 集合(set)是一个无序的不重复元素序列。
- 可以使用大括号
{ }
或者set()
函数创建集合,注意:创建一个空集合必须用set()
而不是{ }
,因为{ }
是用来创建一个空字典。
集合的唯一性,无序性和确定性。
二、创建集合
用法:
# 创建保存多个元素的集合
parame = {value01, value02, ...}
# 创建一个空集合
set(value)
示例:
sets = {1, 2, 3, 4, 5}
三、操作集合
- 添加单个元素
sets.add(6)
print(sets)
![](https://img.haomeiwen.com/i23792769/d56dc97ecc22ff00.png)
add()将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作。
- 添加多个元素
sets.update([7, 8])
print(sets)
![](https://img.haomeiwen.com/i23792769/873c8ba4ddace179.png)
update()可以添加元素,且参数可以是列表,元组,字典等。x 可以有多个,用逗号分开。
- 移除元素
# 移除存在的元素
sets.remove(2)
# 移除不存在的元素
sets.remove(9)
# KeyError: 9
print(sets)
![](https://img.haomeiwen.com/i23792769/2aad441ce0a0dc06.png)
remove()将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。
# 移除存在的元素
sets.discard(1)
# 移除不存在的元素
sets.discard(10)
![](https://img.haomeiwen.com/i23792769/4d1d2159d8e05c73.png)
discard()也是移除集合中的元素,且如果元素不存在,不会发生错误。
sets.pop()
print(sets)
![](https://img.haomeiwen.com/i23792769/613f95afc358a29d.png)
pop()随机删除集合中的一个元素。
set 集合的 pop 方法会对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除。
- 计算集合元素个数
print(len(sets))
![](https://img.haomeiwen.com/i23792769/5d7834537fec4e97.png)
len()计算集合中某个元素的个数。
四、清空集合
sets.clear()
print(sets)
![](https://img.haomeiwen.com/i23792769/56c4257548c97ad3.png)
clear()清空指定的集合。
五、判断元素是否在集合中存在
x in sets
in判断元素 x 是否在集合 sets 中,存在返回 True,不存在返回 False。
六、集合内置方法
- add():为集合添加元素。
- clear():移除集合中的所有元素。
- copy():拷贝一个集合。
- difference():返回多个集合的差集。
- discard():删除集合中指定的元素。
- intersection():返回集合的交集。
- isdisjoint():判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
- issubset():判断指定集合是否为该方法参数集合的子集。
- issuperset():判断该方法的参数集合是否为指定集合的子集。
- pop():随机移除元素。
- remove():移除指定元素。
- symmetric_difference():返回两个集合中不重复的元素集合。
- union():返回两个集合的并集。
- update():给集合添加元素。
七、集合实例讲解
以下代码在交互环境下运行:
>>>basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
>>> print(basket) # 这里演示的是去重功能
{'orange', 'banana', 'pear', 'apple'}
>>> 'orange' in basket # 快速判断元素是否在集合内
True
>>> 'crabgrass' in basket
False
>>> # 下面展示两个集合间的运算.
...
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a
{'a', 'r', 'b', 'c', 'd'}
>>> a - b # 集合a中包含而集合b中不包含的元素
{'r', 'd', 'b'}
>>> a | b # 集合a或b中包含的所有元素
{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
>>> a & b # 集合a和b中都包含了的元素
{'a', 'c'}
>>> a ^ b # 不同时包含于a和b的元素
{'r', 'd', 'b', 'm', 'z', 'l'}
![](https://img.haomeiwen.com/i23792769/11845043aa8d3ce0.png)
网友评论