close

以數學的觀點來說,集合有點類似將相似的物件併成一個匯集。

集合中包含了許多物件或是元素等...

在Python中的集合也是,類似於上一話提到的『字典』

同一個集合內可以包含不同型態的key

『字典』和『集合』最大的相異之處在於『字典』是key:value的對應

『集合』則是只有key ,且每個key都不可重覆!

目錄:

1. 集合(set)的宣告

2. 集合常用的方法


1. 集合(set)的宣告

集合是利用set()方法來宣告,因為目前並未加入任何key,所以為一個空集合。

Python Eclipse 初學 入門 教學 基本方法 範例 程式碼 集合 set 語法 概念 觀念

 

2. 集合常用的方法

。新增key - add()

集合可以利用大括號{ } 加入了數個key,如第三行。

若之後還要再增加key可以使用add(e)這個方法來加入,e表示要加入的key

如果加入的key已存在於該集合中是不會有任何更動,因為key在同一集合中為唯一

這裡我們可以看到輸出結果並未依照我們key加入的優先順序排列,這是因為集合中的元素並無具有排列之特性!

Python Eclipse 初學 入門 教學 基本方法 範例 程式碼 集合 set 語法 概念 觀念

 

。刪除key - remove()

集合中如果有不需要的key可利用remove(e)移除,e表示要移除的key。

如下圖第五行,移除了'b'這個key

Python Eclipse 初學 入門 教學 基本方法 範例 程式碼 集合 set 語法 概念 觀念

 

。檢查key是否在集合中 - in

若要確認某一個key是否已經存在於該集合中,就可以使用in,回傳型態為布林值

in之前放入要尋找的key

in之後放入要查詢的集合

Python Eclipse 初學 入門 教學 基本方法 範例 程式碼 集合 set 語法 概念 觀念

 

。集合的聯集 - | union()

數學意義上聯集就是合併兩個集合,在py就可以用符號 | 或是 union()來處理

可以看到輸出的結果包含了兩個集合的key,重覆的部分只會出現一次

Python Eclipse 初學 入門 教學 基本方法 範例 程式碼 集合 set 語法 概念 觀念

 

。集合的交集 - & intersection()

數學意義上交集就是取出兩個集合中相同的部分,在py就可以用符號 & 或是 intersection()來處理

Python Eclipse 初學 入門 教學 基本方法 範例 程式碼 集合 set 語法 概念 觀念

 

。集合的差集 - - difference()

數學意義上差集就是兩個集合中相異的部分,在py就可以用符號 - 或是 difference()來處理

這裡需要特別注意,上面所說聯集或是交集的兩個集合放置的先後順序並不會影響處理的結果,但是在差集中會影響輸出結果。

因為差集的意思是A集合中扣除掉B集合中相同的元素後,所剩餘的元素,相異的則忽略

反之B集合中扣除掉A集合中相同的元素後,所剩餘的元素,相異的則忽略

所以如下圖中可以發現,經由第七、八行的處理後,印出的結果不一樣!

Python Eclipse 初學 入門 教學 基本方法 範例 程式碼 集合 set 語法 概念 觀念

 


想利用Eclipse撰寫Python程式嗎?

【Python-入門教學 第一話 : 如何安裝Python?

【Python-入門教學】 第二話 : 用Python向世界問好! 你的第一支程式碼

【Python-入門教學】 第三話 : 這是數字...? 還是..文字?? 辨別資料的型態(型別)

【Python-入門教學】 第四話 : 變數是...會改變的數字? 變數的介紹

【Python-入門教學】 第五話 : 運算子?邊緣子?傻傻分不清楚。數學的基礎,四則運算加減乘除 - 運算子

【Python-入門教學】 第六話 : 字串就像烤串一樣,可拆可串還可算! - 字串的處理

【Python-入門教學】 第七話 : 資料一串接一串,就用串列來處理 - 串列(List)

【Python-入門教學】 第八話 : 不想讓串列元素隨意更動? 改用元組吧! - 元組(tuple)

【Python-入門教學】 第九話 : 我的『字典』裡沒有~放棄,因為我已經在學py了! - 字典(dict)

arrow
arrow
    創作者介紹
    創作者 iLoveTech 的頭像
    iLoveTech

    TechShare

    iLoveTech 發表在 痞客邦 留言(0) 人氣()