集合-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={'李次','雄大大','美秀','胖虎','乖乖','張珊','陳林君'}
請計算下列:
請列印三科皆不及格者
列出國文、數學及格但英文不及格者
列出三科皆及格者
國文及格,數學、英文不及格
只有一科及格的
只有二科及格的
參考作法: