分類

展開全部 | 收合全部

分類

展開全部 | 收合全部

【Python 基礎語法 #6】python set() 用法整理 – 快速找出重複的資料內容

前言

這篇我們要來研究 python set 使用方法,
在解 leetcode 相關的題目的時候,
很常會有需要「找重複內容」的時候,這時 set() 就能發揮很大的功能。

初始化

能初始化建立 set 的方式有很多種,
我們在解 leetcode 題目的時候,
最常使用把「題目的一個資料型別」直接轉為「set」的格式。

過程中,我們就會順便把「重複的內容濾掉」,
這樣就可以解很多處理重複的問題。

myset = set()
myset = {1,2,3}
myset = set( [ 1, 2, 3 ] ) # list -> set
myset = set( ( 1, 2, 3 ) ) # tuple -> set
# set = {} # 注意:此為常見錯誤示範!

特別注意:這裡有個常見錯誤是 set = 「{}」 並不會成功宣告空 set,而是要使用 「set()

應用

說到 set 最經常的應用,就是拿來取「交集」、「聯集」、「差集」了!
這些幾乎都是我們在處理重複性問題時會需要的東西。

聯集

聯集我們會使用來解兩個集合「綜合起來,不重複的所有項目」

print(setA | setB)

交集

交集我們會使用來解兩個集合「共同重複」的項目

print(setA & setB)

差集

差集我們常用來解,以自己為中心,扣掉另外一個集合的元素,
剩下「自己獨有」的元素

取得 A 獨有元素

print(setA - setB)

取得 B 獨有元素

print(setB - setA)

結果

Reference

更完整的 set 整理推薦以下連結,我這邊目前只寫到我自己需要用的部分XD:

Howard Weng
Howard Weng

我是 Howard Weng,很多人叫我嗡嗡。這個網站放了我的各種筆記。希望這些筆記也能順便幫助到有需要的人們!如果文章有幫助到你的話,歡迎幫我點讚哦!
另外,因為定位是「個人的隨手筆記」,有些文章內容「⚠️可能我理解有誤⚠️」或「?只寫到一半?」,如果有發現這樣的情況,歡迎在該文章的最下面留言提醒我!我會儘快修正或補上!感謝大家的建議與幫忙,讓網站能變得更好?

文章: 883

★留個言吧!內容有誤或想要補充也歡迎與我討論!