Python學習筆記11-set的介紹

前言

大家好,今天想要跟大家分享一下我對set這個資料型態的理解和使用方法。set是一種無序且不重複的集合,它可以用來儲存一些不需要排序或索引的元素,也可以用來進行集合運算,例如交集、聯集、差集等。

Set 的特性:

  1. 無序性:Set 中的元素沒有特定的順序,每次列印結果可能不同。
  2. 唯一性:Set 中的元素不能重複,重複的元素將被自動去除。
  3. 可變性:Set 可以增加或刪除元素。

定義一個空的set

s1 = set()
print(s1) # {}

定義一個有元素的set

s2 = {1, 2, 3, 4, 5}
print(s2) # {1, 2, 3, 4, 5}

用set()函數將列表轉換成set

s3 = set([6, 7, 8, 9, 10])
print(s3) # {6, 7, 8, 9, 10}

注意:

set中的元素不能重複,如果有重複的元素,會被自動去除
s4 = {1, 2, 3, 3, 4, 5}
print(s4) # {1, 2, 3, 4, 5}
set有一些常用的方法和屬性,我們來看看它們的功能和使用方式:

len():

# 使用len()方法返回set中元素的個數
s1 = {1, 2, 3}
print(len(s1)) # 3

add():

# 使用add()方法向set中添加一個元素,如果該元素已經存在,則不會有任何效果
s1 = {1, 2, 3}
s1.add(4)
print(s1) # {1, 2, 3, 4}

remove():

# 使用remove()方法從set中移除一個元素,如果該元素不存在,則會報錯
s1 = {1, 2, 3, 4}
s1.remove(4)
print(s1) # {1, 2, 3}

discard():

# 使用discard()方法從set中移除一個元素,如果該元素不存在,則不會有任何效果
s1 = {1, 2, 3}
s1.discard(5)
print(s1) # {1, 2, 3}

clear():

# 使用clear()方法清空set中的所有元素
s1 = {1, 2, 3}
s1.clear()
print(s1) # {}

add():

# 使用add()方法向set中添加一個元素
s1 = {1, 2, 3}
s1.add(4)
print(s1) # {1, 2, 3, 4}

union():

# 使用union()方法返回兩個或多個set的聯集
s1 = {1, 2, 3}
s2 = {3, 4, 5}
s3 = s1.union(s2)
print(s3) # {1, 2, 3, 4, 5}

intersection():

# 使用intersection()方法返回兩個或多個set的交集
s1 = {1, 2, 3}
s2 = {3, 4, 5}
s3 = s1.intersection(s2)
print(s3) # {3}

difference():

# 使用difference()方法返回兩個或多個set的差集
s1 = {1, 2, 3}
s2 = {3, 4, 5}
s3 = s1.difference(s2)
print(s3) # {1, 2}

symmetric_difference():

# 使用symmetric_difference()方法返回兩個或多個set的對稱差集
s1 = {1, 2, 3}
s2 = {3, 4, 5}
s3 = s1.symmetric_difference(s2)
print(s3) # {1, 2, 4, 5}
以上就是set的介紹,希望對大家有所幫助。如果有任何問題或建議,歡迎留言討論。謝謝大家的閱讀!

感謝您閱讀本篇文章!我們很高興您能從中獲得一些有用的資訊。如果您喜歡這篇文章,請不要吝嗇您的支持,您可以:
  1. 按下愛心:這樣我們就知道您對這篇文章的喜愛程度,也可以讓更多人看到它。
  2. 分享文章:如果您認為這篇文章也能幫助其他人,請把它分享出去。
  3. 追蹤我們:如果您想持續收到更多類似的內容,請點擊追蹤按鈕。
  4. 支持我們:如果您願意,您也可以成為我們的贊助者。
為什麼會看到廣告
「Python學習筆記:輕鬆掌握程式設計」是一個豐富的Python學習資源,幫助你從零基礎起步,逐步掌握這個強大的程式語言。這份筆記涵蓋了變數和資料型別、基本運算符、輸入和輸出,並深入探討條件判斷、迴圈和函式等核心主題。此外,你將學習列表、字典和文件操作等常用資料結構,並瞭解物件導向程式設計的概念和遞迴演算法的基礎。
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
額...我開課了──聊聊這堂課 & 機器學習的金融價格預測議題去年錄製好的線上課程,今年終於上架了! 非常慚愧,在方格子平台還沒寫幾篇內容,就要先宣傳自己的課程。不過現在67折優惠,宣傳還是有必要的吧,哈!我就維持喜寫論述的習性,介紹一下這門課程,以及我在這個領域──金融商品價格預測──所看見的狀況。 好奇的可以當補充課外知識,有興趣的可以看文末的課程連結。
Thumbnail
avatar
Darren
2023-06-08
Python Flask session 學習心得前言 在完成ALPHA Camp學期2-3的課程,因為接著上了彭彭老師的WeHelp coding bootcamp,再加上年底工作也較忙,似乎還沒機會好好整理學期2-3的心得,這邊可能至少先欠一篇文章,想先根據這周末學習Falsk session的運作機制做些簡單的紀錄。 何謂Flask
Thumbnail
avatar
Blockcyber
2022-10-16
如何 0–1 來預測新酒品的市場趨勢? (深度學習 - Part 1 : EDA 與 Python 畫圖工具)「品酒」已經不再是有錢人的權利,在這個美酒當道的年代,我們要如何像 Somm 電影的品酒師,一口就能辨別出「口感」、「年份」、「產地」,甚至預測下一季爆款的酒呢? 情境: 這時候,機器學習與深度學習都是相當好的辦法,但我們要成為好的品酒工程師之前,我們必須學會理解「數據來源」、「產業知識」、「演算法
Thumbnail
avatar
Dodson
2022-09-19
Python新手學習0Python安裝、外部程式包安裝(pip install xxx)、Hello World 【安裝Python】 Visual Studio Code-Download 進入vscode(延伸模組) 安裝中文介面(輸入ch搜尋) 安裝 搜尋命令提示字元 命令提示字元打python 創建檔案
Thumbnail
avatar
匿名李
2022-08-25
Python 的 50+ 練習:資料科學學習手冊我希望透過在好學校開設「Python 的 50+ 練習:資料科學學習手冊」,讓學生一步步完成這門課程所有的觀念講解、範例實作以及練習之後,扎實地將 Python 程式設計與資料科學應用納入自己的技能組,成為一位擅長寫程式處理資料的分析師,大幅提升工作掌握度與職涯發展性!
Thumbnail
avatar
郭耀仁
2021-12-23
透過Python分析線上學習討論區文本-找出熱門文章今天要介紹的是簡單的文本分析,主要內容會包含處理html標籤、jieba斷詞、TF-IDF轉換與Logistic Regression和svm,透過文本探勘預測哪些文本會成為熱門文章。
Thumbnail
avatar
炯男孩
2021-11-14
Python 線上學習30關小記與心得幾週前開始線上學習 Python,一路完成了十九關的關卡,也就是十九堂基礎課程。整體來說前面一到十四關都不算難度高,但越到後面其實更需要耗費許多專注心力與邏輯思考,無奈自己時而處理其他日常工作,變成全神貫注學習的完整時間幾乎被打碎。所以到後半段,已經不太能花時間坐在電腦前想清楚一整段的代碼要怎麼布建
Thumbnail
avatar
Jerome
2021-02-06
學習只要有興趣就可以開始了-程式小白學Python很多文章都說未來是人工智慧的時代,程式語言是必備能力,靠著一時腦熱蒐集了許多資訊,我想說學習不用很厲害才開始,只要有興趣就開始吧,就算用不到也沒關係!
Thumbnail
avatar
Rita 生活手札
2021-02-06
Python 學習的三個理由一天一課的上著網路上的 Python 課程。有朋友問說,為什麼要學 Python ?未來要作工程師嗎? 猶記得當時也是楞了一下,這個問題,有太多個表層與深層的回覆與想法。 充實隔離時光 最簡單的說法,其實就是想充實自己的隔離時間。當時在上海隔離(可以參見這一系列的隔離相關文:https://ma
Thumbnail
avatar
Jerome
2020-12-19
在DataCamp學Python和R語言,快速入門資料科學資料科學家、數據分析師是近幾年新興,而且熱門的職業,而DataCamp是一個專精於資料科學的程式教學網站。在實務上會用到的各種知識與程式技能,從流程面的網路爬蟲、數據清洗、資料視覺化,到技術面的Python、R語言、SQL,在DataCamp上幾乎都可以找到相關教學。
Thumbnail
avatar
ARON HACK 亞倫害的
2020-03-03