(16)-Python3之--集合(set)操作
1.定义
集合的关键字:set
集合主要作用:
- 去重,把一个列表变成集合,就自动去重了
- 关系测试,测试两组数据之前的交集、差集、并集等关系
集合用大括号{}表示,元素间用逗号分隔。
建立集合类型用{}或set(),建立空集合,必须使用set()。
集合元素之间无序,每个元素唯一,不存在相同元素。
在python中,集合元素不可更改,不能是可变数据类型。
-集合中的每个元素,一旦放入集合中,不可修改。
-可变数据类型元素不可放入集合内。
2.集合创建方式
# 使用{}建立集合 A = {"python",123,("python",123)} print(A) # 使用set()建立集合 # 注:set函数创建的集合,会将每个字符分开分别创建一个元素,集合中不存在相同集合,所以只保留一个相同元素,集合没有顺序,所以顺序是随机的 B = set("pypy123") print(B) 结果: {123, 'python', ('python', 123)} {'3', '1', 'p', 'y', '2'}
3.集合操作符
a = t | s # t 和 s的并集
b = t & s # t 和 s的交集
c = t – s # 求差集(项在t中,但不在s中)
d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中)
效果也如下图所示:
4.增强型集合操作符
Python还提供了关系操作符外,python还提供了> = >= <= <
S<=T或S<T 返回True/False,判断S和T的子集关系
S>=T或S>T 返回True/False,判断S和T和包含关系
增强操作符如图所示:
增强操作符:使用赋值=符号,更新集合的元素
注:如果不使用增强操作符,两个集合进行运算,会生成一个新的集合。
5.集合处理方法
如图所示:
注:discard和remove的区别在于是否产生异常 如果出现异常,可以使用之前学过的try异常处理捕捉异常,所以这里很关键。
除此之外:
S.clear() 移除S集合中的所有元素
S.pop() 随机返回集合S中的一个元素,更新S,若S为空产生keyerror异常
除此之外还有:
# 基本操作: s = set([3,5,9,10]) # 创建一个数值集合 t = set("Hello") # 创建一个唯一字符的集合 t.add('x') # 添加一项 s.update([10, 37, 42]) # 在s中添加多项 # 使用remove() # 可以删除一项: t.remove('H') # set的长度 len(s) # 测试 x 是否是 s 的成员 x in s # 测试 x 是否不是 s 的成员 x not in s # 测试是否 s 中的每一个元素都在 t 中 s.issubset(t) s <= t # 测试是否 t 中的每一个元素都在 s 中 s.issuperset(t) s >= t # 返回一个新的 set 包含 s 和 t 中的每一个元素 s.union(t) s | t # 返回一个新的 set 包含 s 和 t 中的公共元素 s.intersection(t) s & t # 返回一个新的 set 包含 s 中有但是 t 中没有的元素 s.difference(t) s - t # 返回一个新的 set 包含 s 和 t 中不重复的元素 s.symmetric_difference(t) s ^ t # 返回 set “s”的一个浅复制 s.copy()
posted on 2021-01-09 19:32 Test-Admin 阅读(356) 评论(0) 编辑 收藏 举报