1. 集合特點:a.不同的元素組成 b.集合是無序的 c.集合中的元素必須是不可變類型(字符串,數字,元組)
2. set() 定義可變集合
s = set('hello') print(s) 輸出結果:{'e', 'o', 'l', 'h'}
3. frozenset() 定義不可變的集合
s1 = frozenset('hello') print(s1) 輸出結果:frozenset({'l', 'e', 'h', 'o'})
4. add() 往集合中添加元素
s2 = {1, 2, 3} s2.add(4) print(s2) 輸出結果:{1, 2, 3, 4}
5. clear()
6. copy()
7. pop() 隨機刪一個
8. remove() 刪除指定的元素,如果刪除不存在的元素會報錯
9. discard() 刪除指定的元素,如果刪除不存在的元素不會報錯
10. 集合關系運算
a. 交集 intersection()或& b.並集 union()或| c.差集 difference()或- d.交叉補集 symmetric_difference()或^
set_1 = {1, 2, 3} set_2 = {1, 2, 4} print(set_1.intersection(set_2)) print(set_1&set_2) print(set_1.union(set_2)) print(set_1|set_2) print(set_1.difference(set_2)) print(set_1-set_2) print(set_2-set_1) print(set_1.symmetric_difference(set_2)) print(set_1^set_2) 輸出結果: {1, 2} {1, 2} {1, 2, 3, 4} {1, 2, 3, 4} {3} {3} {4} {3, 4} {3, 4}
11. isdisjoint() 判斷是否有交集 如果沒有交集就返回True 如果有交集就返回False
s3 = {1, 2} s4 = {3, 4} print(s3.isdisjoint(s4)) 輸出結果:True
12. issubset() 判斷是否是子集
s4 = {1, 2} s5 = {1, 2, 3} print(s4.issubset(s5)) 輸出結果:True
13. issuperset() 判斷是否是父集
s4 = {1, 2} s5 = {1, 2, 3} print(s5.issuperset(s4)) 輸出結果:True
14. update() 更新集合
s6 = {1, 2} s6.update({1, 5}) print(s6) 輸出結果:{1, 2, 5}