1. 程式人生 > >第六篇:基本資料型別及用法(3)

第六篇:基本資料型別及用法(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"):定義一個不可變集合