1. 程式人生 > >Python資料型別之set相關常用操作

Python資料型別之set相關常用操作

#set:集合去重(無序的)

list_1 = set([1,4,5,7,3,6,7,9])   #結果{1, 3, 4, 5, 6, 7, 9}

list_2 = set([2,6,0,66,22,8,4])  #結果{0, 2, 66, 4, 6, 8, 22}

list_3 = set([1,3,7])

ist_6 = set([1,5,6,8,7])

 

#交集\並集\差集\子集\父集\對稱差集:使用"符號"代替單詞

#交集".intersection" or "&"  2個列表的重複值

print(list_1.intersection(list_2))

print(list_1 & list_2)

 

#並集".union" or "|"    取兩個列表合併以後去重

print(list_1.union(list_2))

print(list_1 | list_2)

 

#差集".difference" or "-"   #取列表1有的而列表2沒有  or 列表2有而列表1沒有的值

 

print(list_1.difference(list_2)) #取列表1值,該值列表2沒有

print(list_1 - list_2)

 

print(list_2.difference(list_1))#取列表2值,該值列表1沒有

print(list_2 - list_1)

 

#子集".issubset" or "<="  判斷list3是否是list_1的子集(list_3元素都存在list_1list3就是list1的子集

print(list_3.issubset(list_1))

print(list_3 <= list_1)

 

#父集".issuperset" or ">="  判斷list_1是否是list_3

的父集(list_3元素都存在list_1list1就是list3的父集

print(list_1 >= list_3)

 

#對稱差集(.symmetric_difference)  合併兩個列表,重複的值去掉(重複值不存在)

print(list_1.symmetric_difference(list_2))

print(list_2 ^ list_1)

 

#集合的追加刪除判斷

#新增

list_6.add(999)

list_6.update([888,777,555])

 

#x in a   判斷x是否是a的成員

print( 1 in list_1)   #list_1有1該數字 所以1是list_1成員 返回true

 

#x not in a  判斷x是否不是a的成員

print( 10000 not in list_1)    #list_1沒有10000該數字 所以返回true

 

#隨機刪除一個

print(list_6.pop())    #刪除任意一個

 

#刪除

list_6.remove(5)

list_6.discartd"(5)