Fork me on GitHub

九.Python3 集合

集合(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 ==/!=
判断两个集合是否相等
posted @ 2018-02-04 17:54  IT技术随笔  阅读(274)  评论(0编辑  收藏  举报
返回顶部↑