集合(set)是一个无序不重复元素的序列。
基本功能是进行成员关系测试和删除重复元素。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式:
parame = {value01,value02,...}
或者
set(value)
实例
#!/usr/bin/python3
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
print(student) # 输出集合,重复的元素被自动去掉
# 成员测试
if('Rose' in student) :
print('Rose 在集合中')
else :
print('Rose 不在集合中')
# set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')
print(a)
print(a - b) # a和b的差集
print(a | b) # a和b的并集
print(a & b) # a和b的交集
print(a ^ b) # a和b中不同时存在的元素
以上实例输出结果:
{'Mary', 'Jim', 'Rose', 'Jack', 'Tom'}
Rose 在集合中
{'b', 'a', 'c', 'r', 'd'}
{'b', 'd', 'r'}
{'l', 'r', 'a', 'c', 'z', 'm', 'b', 'd'}
{'a', 'c'}
{'l', 'r', 'z', 'm', 'b', 'd'}
Python集合方法
序号 | 方法及描述 |
1 |
add(obj) 在集合中添加一个元素,如果元素已经存在,不会抛出异常 |
2 |
clear() 删除集合中的所有元素(清空集合) |
3 |
copy() 复制(浅拷贝)集合 |
4 |
difference(s2) 返回两个或多个集合的差值作为一个新集合(差集),同 s1 - s2 |
5 |
difference_update(s2) 从该集合中删除其他集合的所有元素(把差集赋值给该集合) |
6 |
discard() 与remove()功能相同,从集合中删除一个元素,如果元素不在集合中不会抛出异常 |
7 |
intersection(s2) 返回两个集合的交集作为一个新集合(交集),同 s1 & s2 |
8 |
intersection_update(s2) 更新该集合,从自己与另一个集合的交集(把交集赋值给该集合) |
9 |
isdisjoint(s2) 判断两个集合是否不相交,不相交时返回True |
10 |
issubset(s2) 判断该集合是否是其他集合的子集,如果是返回True 同 <= |
11 |
issuperset(s2) 判断该集合是否包含其他集合,如果包含返回True 同 >= |
12 |
pop() 删除并返回一个集合中的一个随机元素,当集合为空时会抛出异常 |
13 |
remove() 与discard()功能相同,从集合中删除一个元素,如果元素不在集合中会抛出异常 |
14 |
symmetric_difference(s2) 返回两个集合的对称差作为一个新的集合(对称差集),同 s1 ^ s2 |
15 |
symmetric_difference_update(s2) 更新该集合,从自己与另一个集合的对称差集(把对称差集赋值给该集合)
|
16 |
union(s2) 返回所有集合的并值作为一个新集合(并集),同 s1 | s2
|
17 |
update(iterable) 在集合中添加元素,通过一个可迭代对象 |
18 |
in/not in 判断某个元素是否在集合中 |
19 |
==/!= 判断两个集合是否相等 |