python學習5-集合與集合操作
阿新 • • 發佈:2018-01-13
必須 成員 car ror 索引 叠代 err amp pop 數學意義上的集合,沒有重復元素,元素必須可hash
1、定義
s = set()
s = {1,2,3}
s = set(可叠代對象)
2、加
s.add(元素) #增加1個元素,類似列表的append
s.update(可叠代對象) #增加一個可叠代對象,類似列表的extend
3、刪除
s.remove(元素) #元素不存在,報key error
s.pop() #隨機刪除並返回1個元素,當集合為空時,報key error
s.discard(元素) #刪除不存在元素的時候,不會報錯
s.clear() #清空集合
4、集合不能修改單個元素
5、查找
集合不能索引查找
集合無法訪問單個元素
集合沒有查找方法
集合不是線性結構
集合元素沒有順序
6、成員運算符:判斷一個元素是否在容器中
in:在返回true
not in:不在返回true
當數據規模很大時集合的成員運算效率遠高於列表,且與規模無關;列表的與去其規模有關,當規模較小,列表要快很多。
7、集合的運算
s1.intersection(s2) #交集
s1.intersection_update(s2) #交集並修改s1
s1 & s2 #求交集
s1.difference(s2) #差集
s1.difference_update(s2) #差集並修改s1
s1 - s2 #差集
s1.symmetric_difference(s2) #對稱差集
s1.symmetric_difference_update(s2) #對稱差集並修改s1
s1 ^ s2 #對稱差集 ,相當於異或
s1.union(s2) #並集
s1 | s2 #並集
8、集合的判斷
s1.issubset(s2) #s1是否是s2的子集
s1.issuperset(s2) #s1是否是s2的超集
s1.isdisjoint(s2) #判斷是否有交集,有為假,無為真
1、定義
s = set()
s = {1,2,3}
s = set(可叠代對象)
2、加
s.add(元素) #增加1個元素,類似列表的append
s.update(可叠代對象) #增加一個可叠代對象,類似列表的extend
3、刪除
s.remove(元素) #元素不存在,報key error
s.pop() #隨機刪除並返回1個元素,當集合為空時,報key error
s.discard(元素) #刪除不存在元素的時候,不會報錯
s.clear() #清空集合
4、集合不能修改單個元素
5、查找
集合不能索引查找
集合無法訪問單個元素
集合沒有查找方法
集合不是線性結構
6、成員運算符:判斷一個元素是否在容器中
in:在返回true
not in:不在返回true
當數據規模很大時集合的成員運算效率遠高於列表,且與規模無關;列表的與去其規模有關,當規模較小,列表要快很多。
7、集合的運算
s1.intersection(s2) #交集
s1.intersection_update(s2) #交集並修改s1
s1 & s2 #求交集
s1.difference(s2) #差集
s1.difference_update(s2) #差集並修改s1
s1 - s2 #差集
s1.symmetric_difference(s2) #對稱差集
s1.symmetric_difference_update(s2) #對稱差集並修改s1
s1.union(s2) #並集
s1 | s2 #並集
8、集合的判斷
s1.issubset(s2) #s1是否是s2的子集
s1.issuperset(s2) #s1是否是s2的超集
s1.isdisjoint(s2) #判斷是否有交集,有為假,無為真
python學習5-集合與集合操作