Python set 用法與範例 您所在的位置:网站首页 取出set中的元素和元素符号 Python set 用法與範例

Python set 用法與範例

2024-06-02 13:31| 来源: 网络整理| 查看: 265

本篇介紹 Python set 用法與範例,Python set 物件是無序的集合(unordered collection),set 很重要的精隨是 set 不會包含重複的資料,以下為 Python set 的基本用法與範例。

以下 Python set 用法內容分為這幾部份,

Python 初始化 set Python set 加入元素 Python 印出 set 裡所有元素 Python set 刪除元素 Python 測試某元素是否在 set 裡 兩個 set 的交集 兩個 set 的聯集 兩個 set 的差集 兩個 set 的對稱差集 Python 初始化 set

Python set 集合初始化元素使用 {} 來包住元素,也可以帶入 set() 建構子,但若要建立空的 set 要使用 set(),使用 s = {} 是會建立空 dict,不要搞錯囉!Python 官方文件寫明 set 物件是無序,即使你印出來時發現是按照順序的,所以在使用 set 時請記得不保證有序的,另外 set 裡是不會包含重複的元素,1234567891011121314s1 = set()s2 = set((2, 3, 1)) # 帶入 tuple 資料來初始化s3 = {1, 2, 3, 4, 5}s4 = {1, 1, 2, 3, 3}print(s1)print(s2)print(s3)print(s4)print(type(s1))print(type(s2))print(type(s3))print(type(s4))

結果如下,12345678set(){1, 2, 3}{1, 2, 3, 4, 5}{1, 2, 3}

Python set 加入元素

Python set 使用 add() 來加入新元素,用法如下,要注意 set 不會包含重複的元素唷!123456s = {1, 2, 3, 4, 5}s.add(6)s.add(7)s.add(7)print(s)

結果如下,1{1, 2, 3, 4, 5, 6, 7}

Python 印出 set 裡所有元素

這是 Python 最簡單印出 set 的方法,用法如下,12s = {1, 2, 3, 4, 5}print(s)

或者用 for 迴圈迭代,像下面這樣寫,要注意 set 無法像 list 那樣使用 index 索引元素,123s = {1, 2, 3, 4, 5}for i in s: print(i)

結果如下,1234512345

Python set 刪除元素

Python set 使用 remove() 來移除刪除元素,要注意移除一個不存在的元素會報錯(KeyError)唷!12345s = {1, 2, 3, 4, 5}s.remove(5)#s.remove(6) # Errorprint(s)

結果如下,1{1, 2, 3, 4}

Python 測試某元素是否在 set 裡

Python 如果要測試某元素是否在 set 裡的話可以使用 in 關鍵字,用法如下,1234fruits = {'apple','banana','orange','lemon'}print('tomato' in fruits)result = 'apple' in fruitsprint(result)

結果如下,12FalseTrue

兩個 set 的交集

這邊介紹 Python 怎麼取出兩個 set 的交集(intersection),Python 取 set 的交集要使用 & 符號就會取出兩 set 中相同的元素,交集的用法範例如下,1234fruits1 = {'apple','banana','orange','lemon'}fruits2 = {'tomato','apple','banana'}print(fruits1 & fruits2)print(fruits2 & fruits1)

結果如下,12{'apple', 'banana'}{'apple', 'banana'}

你也可以使用 intersection() 來取得交集,intersection() 用法範例如下,1234nums1 = {1,2,3,4,5}nums2 = {2,4,6,8,10}print(nums1.intersection(nums2))print(nums2.intersection(nums1))

結果如下,顛倒使用結果都相同,12{2, 4}{2, 4}

兩個 set 的聯集

這邊介紹 Python 怎麼取出兩個 set 的聯集(union),Python 取 set 的聯集要使用 | 符號就會取出兩 set 中所有的元素,聯集的用法範例如下,1234fruits1 = {'apple','banana','orange','lemon'}fruits2 = {'tomato','apple','banana'}print(fruits1 | fruits2)print(fruits2 | fruits1)

結果如下,12{'orange', 'banana', 'tomato', 'lemon', 'apple'}{'orange', 'banana', 'tomato', 'lemon', 'apple'}

你也可以使用 union() 來取得聯集,union() 用法範例如下,1234nums1 = {1,2,3,4,5}nums2 = {2,4,6,8,10}print(nums1.union(nums2))print(nums2.union(nums1))

結果如下,顛倒使用結果都相同,12{1, 2, 3, 4, 5, 6, 8, 10}{1, 2, 3, 4, 5, 6, 8, 10}

兩個 set 的差集

這邊介紹 Python 怎麼取出兩個 set 的差集(difference),Python 取 set 的差集要使用 - 符號就會取出 set 與另外一個 set 的差集,舉例來說,fruits1-fruits2 會得到 fruits1 set 元素且不包含 fruits2 set 的元素,如果是 fruits2-fruits1 會得到 fruits2 set 元素且不包含 fruits1 set 的元素,差集的用法範例如下,1234fruits1 = {'apple','banana','orange','lemon'}fruits2 = {'orange','lemon','tomato'}print(fruits1 - fruits2)print(fruits2 - fruits1)

結果如下,12{'apple', 'banana'}{'tomato'}

你也可以使用 difference() 來取得差集,difference() 用法範例如下,1234nums1 = {1,2,3,4,5}nums2 = {4,5,6,7,8}print(nums1.difference(nums2))print(nums2.difference(nums1))

結果如下,12{1, 2, 3}{8, 6, 7}

兩個 set 的對稱差集

這邊介紹 Python 怎麼取出兩個 set 的對稱差集(symmetric difference),Python 取 set 的對稱差集要使用 ^ 符號就會取出兩 set 不重複的元素或非交集的元素,對稱差集的用法範例如下,1234fruits1 = {'apple','banana','orange','lemon'}fruits2 = {'orange','lemon','tomato'}print(fruits1 ^ fruits2)print(fruits2 ^ fruits1)

結果如下,12{'tomato', 'banana', 'apple'}{'tomato', 'banana', 'apple'}

你也可以使用 symmetric_difference() 來取得對稱差集,symmetric_difference() 用法範例如下,1234nums1 = {1,2,3,4,5}nums2 = {4,5,6,7,8}print(nums1.symmetric_difference(nums2))print(nums2.symmetric_difference(nums1))

結果如下,顛倒使用結果都相同,12{1, 2, 3, 6, 7, 8}{1, 2, 3, 6, 7, 8}

下一篇將介紹 dict 字典的用法

以上就是 Python set 用法與範例介紹,如果你覺得我的文章寫得不錯、對你有幫助的話記得 Facebook 按讚支持一下!

其他參考Built-in Types set — Python 3 documentationhttps://docs.python.org/3/library/stdtypes.html?#set

其它相關文章推薦如果你想學習 Python 相關技術,可以參考看看下面的文章,Python 檢查 set 集合是否為空Python 新手入門教學懶人包Python str 字串用法與範例Python list 串列用法與範例Python dict 字典用法與範例Python tuple 元組用法與範例



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有