集合學習筆記
1.添加 add() 注意:add僅可更新一個值python
s={1,2,3,4} s.add(6) print(s)
2.清空集合clear()學習
s={1,2,3,4} s.clear() print(s)
3.拷貝 copy()spa
s={1,2,3,4} s1=s.copy()
4.隨機刪除 pop()code
s={1,2,3,4} s.pop() print(s)
5.指定刪除 remove() 注意:刪除集合中不存在的元素會報keyerror的錯blog
s={1,2,3,4} s.remove('3') print(s)
6.指定刪除 discard() 注意:刪除集合中不存在的元素不會報錯rem
s={1,2,3,4} s.discard('sbbbb') print(s)
交併差io
交class
list1=[1,2,3,4,5] list2=[2,3,5,5,6,7,8] set1=set(list1) set2=set(list2) print(set1.intersection(set2)) print(set1&set2)
注意:set1&set2 和set1.intersection(set2)效果一致,求交集變量
並date
print(set1.union(set2)) print(set1|set2)
注意:set1.uniont(set2)效果與set1|set2相同
差
list1=[1,2,3,4,5] list2=[2,3,5,5,6,7,8] set1=set(list1) set2=set(list2) print(set1-set2) print(set2-set1) print(set1.difference(set2)) print(set2.difference(set1))
集合的其餘內置方法
交叉補集
print(set1.symmetric_difference(set2)) print(set1^set2)
差集運算之difference_update()
set1.difference_update(set2) 上述語句效果等同於set1=set1-set2 difference_update的效果就是差集運算,並將值從新賦予左邊的變量
isdisjoint():兩個集合沒有交集,返回True,不然返回False
s1={1,2} s2={3,4} print(s1.isdisjoint(s2))
issubset():s1<=s2 判斷包含關係,s1是s2的子集時,返回True,不然返回False
issuperset():s1>=s2 判斷包含關係,s1是s2的父集時,返回True,不然返回False
s1={1,2} s2={1,2,3} print(s1.issubset(s2)) print(s2.issuperset(s1))
update():效果至關於將s2賦值給s1 能夠更新多個值
s1.update(s2) print(s2)
補充:
frozenset:定義不可變集合
s=frozenset('hello') print(s)
舉例:
能夠看到,add方法已不可用,