集合跟列表有點像,也是能夠存一堆數據的,不過它有幾個獨特的特色:python
一、集合裏的元素不可變,即不能再集合裏存儲列表(list)、字典(dict)。字符串、數字、元組等不可變類型能夠存儲再集合中。code
二、天生去重,即在集合裏不會出現重複元素,就算你故意寫入重複元素,集合也會自動去掉重複的,只保留一個。blog
三、無序,集合中的元素沒有前後之分。rem
一、建立集合字符串
a = {2, 321, 'Kwan', 1, '小明', 'Kwan', 321}
二、幫助列表去重class
將列表轉換成集合,再轉回列表,便可實現列表的去重數據類型
a = ['Kwan', 'Kwan', 21, 21, '小明'] a = list(set(a)) # 先轉換成集合,再轉換成列表
a = {'Kwan', 21, 'male', 'LL', 43} # 增 a.add('Kobe') # 刪 a.discard('male') # 用discard()方法,刪除指定的元素,若指定元素不存在,則do nothing a.pop() # 用pop()方法,隨即刪除一個元素並返回這個元素 a.remove('LL') # 用remove()方法,同discard # 查 if 'Kwan' in a: # 用in方法 pass # 改(沒有改這個操做,集合不能改)
a1 = {'Kwan', '小明', 'LL', 'PP', 'Kobe'} a2 = {'小明', 'LL', 'Alice', 'Jack', 'Neal'} print(a1 & a2) # &交集運算 print(a1 | a2) # |並集運算 print(a1 - a2) # -差集運算 print(a2 - a1) print(a1 ^ a2) # ^對稱差集運算 print(a1.isdisjoint(a2)) # 判斷兩個集合是否是相交的,返回True或者False print(a1.issubset(a2)) # 判斷a1是否是a2的子集,返回True或者False print(a1.issuperset(a2)) # 判斷a1是否是a2的父集,返回True或者False