iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 10
0


三天連假就這樣來到最後一天~高速公路也是塞的大家頭昏吧!
所以今天我們就來點輕鬆的,來介紹一下集合的運算,這算是python蠻特殊的利用!

set集合

就是你高中學過的集合基本概念,像是交集、聯集、差集...等,而python中每個set都是無序且不重複元素的集合,若有重複性元素,則會將多餘的移除,最後只留下一個代表。

集合基本運算

set1&set2set1.iersection(set2):兩個集合的交集
set1|set2set1.union(set2):兩個集合的聯集
set1-set2set1.difference(set2):兩個集合的差集
set1^set2set1.symmetric_difference(set2):兩個集合的對差集

s1={'1','2','3','4','5','3','4'}
s2={'9','8','6','5','3','7','2'}
print(s1&s2) #output:{'5', '2', '3'}
print(s1.union(s2)) #output:{'9', '4', '6', '7', '5', '3', '1', '2', '8'}
print(s1-s2) #output:{'1', '4'}
print(s1^s2) #output:{'9', '1', '6', '7', '4', '8'}

集合元素的新增或移除

set.add(element):新增一項元素到集合裡面
set.update(elements):新增多項元素到集合裡面
set.remove(element):從現有集合裡面移除一項元素,但該元素不在時會出現錯誤訊息
set.discard((element):從現有集合裡面移除一項元素,但該元素不在時不會出現錯誤訊息
len(set):看集合裡面有多少元素

s1={'1','2','3','4','5','3','4'}
s1.update(['7','8',11])
len(s1) #output:8
s1.discard('6') #雖沒有'6'在集合裡面,但此時不會回傳任何錯誤
print(s1) #output:{'4', '7', '5', 11, '3', '1', '2', '8'}

字串,list也可變成集合?

set(varible):可以將varible轉成集合,varible可為字串或者list。

L=[1,2,3,'5','a','c',5,'A',2]
S="I love Macbook pro."
print(set(L))
# output:{1, 2, 3, 5, '5', 'c', 'A', 'a'}
print(set(S))
# output:{'I', 'r', 'l', ' ', '.', 'c', 'M', 'p', 'k', 'v', 'a', 'e', 'o', 'b'}

好啦~我們今天就到這吧!!
雖然很簡單,但接下來我們會準備開始使用過去14天所介紹的東西寫一些稍微複雜一點點的程式囉!


搭了夜車回來,補眠去囉QQ
希望老闆不要再打電話來了


上一篇
[Day13] Really!? 你不知道什麼是字典?
下一篇
[Day15]你知道函數嗎?
系列文
從0開始學習程式-Python32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言