集合-set

集合 Set,與高中數學所學的集合相同,內容物沒有順序之別,也沒有重複的內容

Set 用大括號 {} 表示

資料的集合,沒有順序,沒有重複,且為可改變內容

建立集合

函式

集合新增、刪除和子集、超集

集合運算

交集:集合1.intersection(集合2,集合3,...) 或 集合1 & 集合2 & 集合3 & ...

聯集:集合1.union(集合2, 集合3, ...) 或 集合1 | 集合2 | 集合3 | ...

差集:集合1.difference(集合2) 或 集合1 - 集合2

互斥集:集合1.symmetric_difference(集合2)  或 集合1 ^ 集合2    #結果為二集合聯集,再移除交集

偵測二集合是否無交集: 集合1.isdisjoint(集合2)   #會回應 True 或 False

改成交集值:集合1.intersection_update(集合2)   #將集合1內容改成:集合1與集合2的交集

改成移除交集值:集合1.difference_update(集合2)   #集合1內容改成:集合1中,將2集合的交集移除,

改成互斥集值:集合1.symmetric_difference_update(集合2)   #將集合1內容改成:集合1與集合2的聯集,再移除交集


應用練習:

全班名單:allClass={'吳吾','陳全','陳林君','張珊','李次','王吾','叮叮','文文','大熊','菜菜','開開','美秀','乖乖','雄大大','胖虎'}

期末考不及格名單

國文不及格(s1) 有 張珊、李次、王吾、開開、叮叮、文文、大熊

數學不及格(s2) 有 叮叮、大熊、李次、美秀、乖乖

英文不及格(s3) 有 乖乖、美秀、李次、胖虎、陳林君、張珊、雄大大

集合如下:

s1={'張珊','李次','王吾','叮叮','文文','大熊','開開'}

s2={'李次','叮叮','美秀','大熊','乖乖'}

s3={'李次','雄大大','美秀','胖虎','乖乖','張珊','陳林君'}

計算下列:

參考作法: