python集合操作和內置方法
阿新 • • 發佈:2018-09-18
關系運算 可變 iss upd 最重要的 clas 類型 介紹 sca
一 集合基本介紹
集合:在{}內用逗號隔開每個值,集合的特點:
- 每個值必須是不可變類型
- 集合是無序的
- 集合的值不能重復
集合的應用場景較少,最重要的應用場景為進行關系運算以及去重。
二 集合的操作
1 求兩個集合的交集
set1 = {1,2,3,4,‘a‘,‘b‘,‘c‘,‘d‘} set2 = {4,5,6,7,‘c‘,‘d‘,‘e‘,‘f‘}print(set1 & set2) # 輸出結果為 (4,‘c‘,‘d‘)
2 求兩個集合的並集
set1 = {1,2,3,4,‘a‘,‘b‘,‘c‘,‘d‘} set2 = {4,5,6,7,‘c‘,‘d‘,‘e‘,‘f‘}print(set1 | set2) # 輸出結果為 (1,2,3,4,5,6,7,‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘f‘)
3 求兩個集合的差集
set1 = {1,2,3,4,‘a‘,‘b‘,‘c‘,‘d‘} set2 = {4,5,6,7,‘c‘,‘d‘,‘e‘,‘f‘} print(set1 - set2) # 輸出結果為 {1, 2, 3, ‘b‘, ‘a‘}
4 求兩個集合的對稱差集
set1 = {1,2,3,4,‘a‘,‘b‘,‘c‘,‘d‘} set2 = {4,5,6,7,‘c‘,‘d‘,‘e‘,‘f‘} print((set1 - set2) | (set2 - set1))print(set1 ^ set2) # 輸出結果為 {1, 2, ‘a‘, 5, 6, 7, ‘f‘, 3, ‘b‘, ‘e‘}
5 集合父子集關系:指的是集合包含與被包含關系
s1={1,2,3} s2={1,2} print(s1 >= s2) print(s1.issuperset(s2)) print(s2.issubset(s1)) # 情況一: print(s1 > s2) #>號代表s1是包含s2的,稱之為s1為s2的父集 print(s2 < s1) # 情況二: s1={1,2,3} s2={1,2,3} print(s1 == s2) #s1如果等於s2,也可以稱為s1是s2的父集合
需要掌握的操作
s1={1,2,3} # s1.update({3,4,5}) # print(s1) # print(s1.pop()) # print(s1) # s1.remove(2) # print(s1) # s1={1,2,3} # print(id(s1)) # s1.add(4) # print(s1) # print(id(s1)) # s1={1,2,3} # s1.discard(4) # s1.remove(4) # print(s1) # s1={1,2,3} # s2={4,5} # print(s1.isdisjoint(s2)) #總結 # 存多個值 # 無序 # set可變
python集合操作和內置方法