(一)簡介集合是可變的容器
集合內的資料物件都是唯一的(不能重複多次的)
集合是無序的儲存結構,集合內的資料沒有先後順序關係
集合內的元素必須是不可變物件
集合是可迭代物件
集合是相當於只有鍵沒有值的字典(鍵則是集合的資料)
(二)建立集合建立空的集合:
set() #不能用{}來建立空集合,此方法已被用於字典
建立非空集合:
s =
(三)集合的建構函式setset() 建立乙個空的集合物件(不能用{}來建立空集合)
set(iterable) 用可迭代物件建立乙個新的集合物件
示例:s = set()
s = set(「abc」) # s =
s = set() # s =
(四)集合的運算:交集,並集,補集,子集,超集
運算子:& | - ^ < <= > >= == !=
&交集|並集
-補集:s1-s2 #生成屬於s1但不屬於s2的所有元素的集合
^對稱補集:s1^s2 #(s1-s2)|(s2-s1)
>判斷乙個集合是另乙個集合的超集
《判斷乙個集合是另乙個集合的子集
(五)in / not in 運算子in 等同於字典的in, 用於集合中,當某個值存在於集合中,返回true,否則返回false
not in 與 in 返回值相反
集合的 in / not in 運算子的速度快於序列
(六)能用於集合的函式:len(x)
max(x)
min(x)
sum(x)
any(x)
all(x)
集合是可迭代物件
(七)集合的方法:請自學
(八)集合推導式:集合推導式是用可迭代物件生成集合的表示式
語法:注:內的內容可省略
示例:numbers = (1,2,3,2,2,3,3,4,5)
s = #去除重複的元素
(九)固定集合 frozenset(1)固定集合是不可變的,無序的
(2)固定集合可以作為字典的鍵,還可以作為集合的值
(3)建立空的固定集合
fs = frozenset()
(4)建立非空的固定集合:
frozenset(iterable) 用可迭代的物件建立新的固定集合
示例:fz = frozenset([2,3,5,7]) #frozenset()
(5)運算:
&交集|並集
-補集^對稱補集
in /not in 運算
(以上運算與set的運算完全相同)
(6)固定集合的方法:
相當於集合的全部方法去掉修改集合的方法
(十)列表,字典,集合物件優缺點:(1)都為可變
(2)列表的尾部插入速度比較快,查中間插入和頭插資料速度慢
(3)列表有序
(4)字典新增,刪除,修改速度快於列表
(5)集合的新增,刪除快於列表,且不能儲存重複元素
Chapter08 工廠方法模式
工廠方法模式 factory method 定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。工廠方法使乙個類的例項化延遲到其子類中。工廠方法模式在實現時,客戶端需要決定例項化哪乙個工廠來實現運算類,選擇判斷的問題還是存在的,也就是說,工廠方法把簡單工廠的內部邏輯判斷移到了客戶端 來進行。你想要...
初識設計模式 chapter 08 模板方法模式
直到目前,我們的議題都繞著封裝轉,我們已經封裝了物件建立 方法呼叫 複雜介面 鴨子 披薩。接下來呢?我們將要深入封裝演算法塊,好讓子類可以在任何時候都可以將自己掛接進運算裡。我們甚至會在本章學到乙個受到好萊塢影響而啟發的設計原則。有些人沒有咖啡就活不下去,有些人則離不開茶。兩者的共同成分是什麼,當然...
Python學習筆記08
nudge 1 wink 2 a,b nudge,wink a,b 1,2 c,d nudge,wink c,d 1,2 nudge 1 wink 2 a,b,c 1,2,3 a,c 1,3 a,b,c abc a,c a c 高階序列賦值語句模式 string spam a,b,c,d strin...