當前位置:
首頁 >
Python学习(四)数据结构 —— set frozenset
發布時間:2025/7/14
43
豆豆
生活随笔
收集整理的這篇文章主要介紹了
Python学习(四)数据结构 —— set frozenset
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
集合類型 set ?frozenset
賦值及去重
set?是一個無序不重復元素集,還有個frozenset 類型(顧明思議,就是不可改變元素的集合);
基本功能包括關系測試和消除重復元素;set支持& | - (交、并、差集) 等數學運算
set 賦值:非空集合由{}標識,逗號隔開元素; 注意,空集合表示為?set()?而不是?{}?(這是dict);python 會對set自動去除重復
1 s = {} # 注意這是 dict類型 2 print(type(s)) 3 s = set() # 空集合表示方法 4 print(type(s)) 5 s = {1,1.0} 6 print(s) # 輸出{1.0},可去重 int float類型不區分,輸出float 7 s = [1,2,1,2,1,1,3] 8 s = set(s) # 強制轉換成 set 9 print(s) # 同樣去重了?
同 list 相似,set 也有簡單操作,如下:
1 s = {1,2,1,2,1,1,3,0} 2 print(s,len(s)) # len(s) 返回了set包含元素的個數(去重) 3 print((1.0 in s),(3 in s),(True in s),(False in s)) # 測試是否包含元素,注意0可以對應False,1可以對應True 4 print(True not in s)?
?
交、并、差集運算
表示法: ? & ? ? ?| ? ? ? - ? ?; 分別表示交集、并集、及非(具體意思請百度),無對應結果返回空集合,即?set()? ?示例如下:
1 a = {0,1,2} 2 b = {1,2,3} 3 print(a&b) # 交集 4 print(a|b) # 并集 5 print(a-b) # a差b 6 print(b-a) # b差a 7 a = {0,1,2} 8 b = {3,4,5} 9 print(a&b) # set()?
一些函數也可作交、并、差運算,詳細參見?python list、set 相關參考
?
增、刪操作
s.add(elem) 增加;.remove(elem) ?.discard(elem) ?.pop() 刪除;s.clear() 清空;詳見下面實例
1 s = {0,1,2} 2 s.add(4) # .add(elem) 3 s.add(4.0) 4 s.add("4") 5 print(s) 6 s.remove(0) # .remove(elem) 去除現有元素,如不存在,會 raise error 7 print(s) 8 # s.remove(0) # 報錯 9 s = {0,1,2} 10 s.discard(0) # .discard(elem) 去除現有元素,如不存在,不會報錯 11 print(s) 12 s.discard(4) # 不會報錯 13 s = {"a","b","c"} 14 print(s.pop(),s) # 刪除一個不確定的元素,并 return 該元素,若集合為空,會 raise error 15 s = {1,2,3} 16 print(s.pop()) # 數字類型好像每次都會pop出最小的1 17 s = {1,2,3,"b","c"} 18 print(s.pop()) # pop出不確定的非數字,或者最小的數字1 19 s.clear() 20 print(s) # 清空?
轉載于:https://www.cnblogs.com/feeland/p/4367242.html
總結
以上是生活随笔為你收集整理的Python学习(四)数据结构 —— set frozenset的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TCP,IP,HTTP,SOCKET区别
- 下一篇: python 以 utf-8 格式写文件