python基础3,,1、集合—不同元素组
python基础3,,1、集合—不同元素组
1、集合
—不同元素组成
—无序
—集合中元素必须是不可变类型(字符串、数字、元祖)(列表可变,不行)
## 集合 定义s = {1,2,8,8,8,‘dfs‘,(4,‘sddf‘)}print(s) ##{8, 1, 2, ‘dfs‘}s = set(‘hello‘)print(s) ###{‘o‘, ‘h‘, ‘l‘, ‘e‘}s = set([‘ss‘,‘ss‘,4,4,‘ggg‘])print(s) ###{‘ggg‘, ‘ss‘, 4}
### 增加元素s = {1,2,3,4,‘kk‘}s.add(‘增加‘)print(s)### 请空s.clear()### 复制s1 = s.copy()### 删除s.pop() ### 随机删除s.remove(‘增加‘) ### 删除指定元素,若删除元素不存在,会报错s.discard(‘kk‘) ### 删除指定元素,若删除元素不存在,不会报错
— 集合的交、并、差
a = [‘a‘,‘b‘,‘c‘,‘d‘,‘a‘]b = [‘c‘,‘d‘,‘e‘,‘f‘,‘c‘]a_s = set(a)b_s = set(b)print(a_s,b_s) ## {‘d‘, ‘c‘, ‘b‘, ‘a‘} {‘d‘, ‘c‘, ‘e‘, ‘f‘}## 求交集 {‘d‘, ‘c‘}print(a_s.intersection(b_s))print(a_s&b_s)## 求并集 {‘d‘, ‘b‘, ‘f‘, ‘a‘, ‘e‘, ‘c‘}print(a_s.union(b_s))print(a_s|b_s)## 求差集print(a_s-b_s) ## {‘b‘, ‘a‘}print(a_s.difference(b_s)) ## {‘b‘, ‘a‘}
### 交叉补集 先并集,再减交集print(a_s.symmetric_difference(b_s)) ## {‘e‘, ‘f‘, ‘a‘, ‘b‘}print(a_s^b_s)
# 把a-b的结果赋值给aa_s.difference_update(b_s)print(a_s) ### {‘a‘, ‘b‘}a_s = a_s - b_sprint(a_s) ### {‘a‘, ‘b‘}
### 是否有交集,是—False,否—Trueprint(a_s.isdisjoint(b_s))
a = [‘a‘,‘b‘]b = [‘a‘,‘b‘,‘c‘]a_s = set(a)b_s = set(b)### 判断 a 是否为 b 的子集 (布尔值)print(a_s.issubset(b_s)) ##True### 判断 b 是否为 a 的父集 (布尔值)print(a_s.issuperset(b_s)) ##True
### 更新多值 add()只能更新一个值 union()不更新a_s.update(b_s)print(a_s) ### {‘b‘, ‘a‘, ‘c‘}
— { }、set()定义的集合可变(可增删)
— frozenset()定义的集合不可变
s = frozenset(‘kkljh‘)print(s) ##frozenset({‘j‘, ‘h‘, ‘k‘, ‘l‘})
### 列表去重(不考虑列表中元素对的顺序)li = [‘a‘,‘a‘,2,3,2]li = list(set(li))print(li) ### [2, 3, ‘a‘]
python基础3
评论关闭