第四天 PYTHON 集合
Set 集合
集合的特性:
1、 不同元素組成
如:s = {1,2,3,4,3,3,3,3,3}
s = {1,2,3,4}
2、 無序
3、 集合中元素必須是不可變類型
可變類型:列表、字典
不可變類型:數字、字符串、元組
如何設置集合
方法1:
S = {1,2,3,4,5,6}
方法2:
S = set(“hello”) 結果是 s = {‘h’,’l’,’o’,’e’}
Set方法相當於使用for循環將元素一個一個放入集合,重復的刪掉
集合的方法:
1、在集合中添加元素,每次只能添加1個
s.add(元素)
2、清空
s.clear()
3、 拷貝
S1 = s.copy()
4、 隨機刪除一個
s.pop()
5、 指定刪除
s.remove(元素)
如果刪除的字符串不存在,會報錯
6、指定刪除(不報錯)
s.discard()
如果刪除的字符串不存在,不會報錯
集合的關系運算:
例子:
# python_l=[‘lcg‘,‘szw‘,‘zjw‘,‘lcg‘]
# linux_l=[‘lcg‘,‘szw‘,‘sb‘]
# p_s=set(python_l)
# l_s=set(linux_l)
1、 交集(共同的部分)
方法1
p_s.intersection(l_s)
方法2
p_s&l_s
2、 並集(集合相加為一個集合)
方法1
P_s.union(l_s)
方法2
P_s|l_s
3、 差集(左邊的集合減去右邊的集合)
方法一:
P_s.difference(l_s)
方法二:
P_s-l_s
4、 交叉補集(集合相加後減去集合共同的部分)
方法一:
P_s.symmetric_difference(l_s)
方法二:
P_s^L_s
5、 差值更新(求完差值後將結果更新到左邊的集合)
方法一:
P_s = p_s-l_s
方法二:
P_s.differnece_update(l_s)
6、 交集更新(求完交集後將結果更新到左邊的集合)
P_s.intersection_update(l_s)
7、 判斷集合是否沒有交集(返回結果是True)
P_s.isdisjoint(L_s)
8、 判斷前面的是否是後面的子集(返回結果是True)
S1 = {1,2}
S2 = {1,2,3}
S1.issubset(s2) 結果是True
S2.issubset(s1) 結果是False
9、 判斷前面的是否是後面的父集(返回結果是True)
S1 = {1,2}
S2 = {1,2,3}
S1.issuperset(s2) 結果是False
S2.issuperset(s1) 結果是True
10、 更新或添加多個值。將左邊的集合用右邊的集合進行更新
S1 = {1,2}
S2 = {1,2,3}
S1.update(s2)
S1變為{1,2,3}
S1.update([3,4]) 添加多個值
補充說明:
1、集合是可變類型
2、S = frozenset(‘hello’) 用這個方法定義的是一個不可變的集合
3、不考慮順序的列表去重
Names = [‘erw’,’sdf’,’erw’]
List(set(names))
第四天 PYTHON 集合