1. 程式人生 > >Python學習筆記之集合

Python學習筆記之集合

1、集合(set)是一個存放在中括號內的無序,不重複的序列。例如:set = {'1','12','25'}

2、建立集合的兩種方法:

  • set = {1,2,3} 中括號直接建立
  • set = {[1,2.3]}  通過方法set()將元組或者列表轉換成集合,預設會刪除重複值

3、對集合的基本操作

s = {1,2,3,4}
s.add(5) #新增元素
print(s)
s = set()
s.add(1) #建立空集合,然後新增元素
s.add(2)
print(s)
s2 = s.copy() #複製集合
print(s2)
s.clear() #清空集合
print(s) #A中存在,B中不存在,A在前,B在後 s1 = {11,22,33} s2 = {22,33,44} s3 = s1.difference(s2) print(s3) #去掉兩者交集,得到剩下的集合 s4 = s1.symmetric_difference(s2) print(s4) #更新集合,將A中有,B中沒有的,更新為A集合 s1.difference_update(s2) print(s1) #將去除交集之後的集合,更新為A集合 s1.symmetric_difference_update(s2) print(s1) #discard移除指定元素,不存在也不報錯 s = {1,2,3} s.discard(
1) print(s) #remove移除元素,不存在會報錯 s = {1,2,3} s.remove(1) print(s) #pop隨機刪除元素,並且可以繼續使用 s = {2,3,4} s1 = s.pop()#括號裡不能加引數 print(s1) #求AB的交集 s1 = {11,22,33} s2 = {22,33,44} s3 = s1.intersection(s2) print(s3) #將AB交集更新為A s1 = {11,22,33} s2 = {22,33,44} s1.intersection_update(s2) print(s1) #A是否是B的子序列,是則返回True
s1 = {11,22,33} s2 = {22,33} s3 = s2.issubset(s1) print(s3) #A是否是B的父序列,是則返回True s1 = {11,22,33} s2 = {22,33} s3 = s1.issuperset(s2) print(s3) #合併兩個集合,去重 s1 = {11,22,33} s2 = {22,33,44} s3 = s1.union(s2) print(s3) '''update()更新集合,括號內接受一個可以for迴圈的序列, 列表、元組或者字串都行,函式自動將序列內元素新增到集合中, 如果是字典,只會把鍵加入集合 ''' s1 = {11,22,33} s2 = [1,2,3,4,] s3 = (10,20,30,) s4 = 'charlie' s5 = {'Q':'W','E':'R'} s1.update(s2) print(s1) s1.update(s3) print(s1) s1.update(s4) print(s1) s1.update(s5) print(s1)