第六篇:基本資料型別及用法(3)
集合set
1.集合由不同無序的元素組成,集合中只能存放不可變型別(數字,字串,元祖),例如:s={123,"abc",(1,2,"a")}
-重複元素會被去除,所以可用集合去重,例:不考慮順序,去除列表li中重複元素
1 li=["alex",123,"hello","alex",123] 2 print(list(set(li)))
-還可以用集合類set(可迭代型別)定義集合,例:
1 s1=set("hello") 2 s2=set(["alex","alex","great"]) 3 print(s1,s2) 4 #結果:{'e', 'l', 'o', 'h'} {'great', 'alex'}
2.集合內建方法
-add():集合中追加元素
-clear():清空集合中所有元素
-copy():複製一份集合
-pop():隨機刪除集合中一個元素
-remove(元素):刪除指定元素,指定元素不存在會報錯
-discard(元素):刪除指定元素,指定元素不存在也不會報錯
-set1.intersection(set2):求集合set1與set2的交集
=set1&set2
-set1.union(set2)):求集合set1與set2的並集
=set1|set2
-set1.update(set2):set1與set2的並集並賦值給set1
-set1.difference(set2):求集合set1與set2的差集(差集:只存在於set1中而不存在set2中的元素)
=set1-set2
-set1.difference_update(set2):求集合set1與set2的差集並賦值給set1
-set1.symmetric_difference(set2):求集合set1與set2的交叉補集(並集扣除交集部分)
=set1^set2
-set1.symmetric_difference_update(set2):求集合set1與set2的交叉補集並賦值給set1
-set1.isdisjoint(set2):set1與set2沒有交集則返回True
-set1.issubset(set2):set1是set2的子集,則返回True
=set<=set2
-set1.issuperset(set2):set1是set2的父集,則返回True
=set1>=set2
-forzenset("hello"):定義一個不可變集合