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}
