python集合
阿新 • • 發佈:2017-07-06
python集合 python集合基本操作 python集合關系測試
python集合
特點:去重、關系測試;無序的 ;
功能:增、刪、查
應用範圍:
1. python班的同學和運維班的同學 其中有同學兩個班都報了, 現在要把兩個班的同學合並,不能有重復。(求兩個列表的並集)
2. python班的同學和運維班的同學 其中有同學兩個班都報了,現在要把兩個班都報的同學取出來。(取兩個列表的交集)
#格式: set_1 = {1, 2, 3, 4, 5, 6} #例如去重: list_1 = [1,2,3,4,5,6,1] list_1 = set(list_1) #列表轉集合 print(list_1,type(list_1)) #打印出來的時候已經沒有重復的。 輸出:{1, 2, 3, 4, 5, 6} <class ‘set‘>
集合的所有關系測試
求交集(兩個列表都有的)
list_1 = [1,2,3,4,5,6,1] list_1 = set(list_1) list_2 = set([7,8,9,0,1,2]) print(list_1.intersection(list_2))
求並集(兩個列表合並)
print(list_1.union(list_2))
求差集(A有,B相對於A沒有的)
print(list_1.difference(list_2)) #list_1 裏邊有的,list_2相對於list_1裏邊沒有的; print(list_2.difference(list_1)) #list_2 裏邊有的,list_1相對於list_2裏邊沒有的;
取子集(兩個列表有相同的)
list_3 = set([1,2]) print(list_3.issubset(list_1))
求父集(兩個列表有相同的)
print(list_1.issuperset(list_3))
對稱差集(把兩個列表裏邊去掉重復的,其他的都取出來)
print(list_1.symmetric_difference(list_2))
判斷兩個列表有沒有交集
list_4 = set([3,4]) print(list_3.isdisjoint(list_4))
運算符求所有關系測試
#交集
print(list_1 & list_2)
#並集
print(list_1 | list_2)
#差集
print(list_1 - list_2)
#對稱差集
print(list_1 ^ list_2 )
集合基本操作
添加
list_1.add(99) print(list_1)
添加多項
list_1.update([11,22,33]) print(list_1)
刪除(一次只能刪除一個)刪除的元素不存在 會報錯;正常刪除一個元素返回一個None 。
list_1.remove(1) print(list_1)
任意刪除一個元素,並且返回刪除的元素;如果沒有返回None 。
print(list_1.pop())
指定刪除一個元素,如果沒有元素也不報錯,始終返回值為None;
print(list_1.discard(1))
查看集合長度
print(len(list_1))
x在不在集合裏
print(2 in list_1)
x是不是不在集合裏
print(1 not in list_1)
本文出自 “506554897” 博客,請務必保留此出處http://506554897.blog.51cto.com/2823970/1944938
python集合