1. 程式人生 > >python---集合

python---集合

enc 之前 bsp 關系 print 基本操作 iss 它的 nio

集合是一個無序的,不重復的數據組合,它的主要作用是:

1.去重,把列表變為集合就去重了。

2.關系測試,測試兩組數據之前的差集,交集,並集等關系

#創建兩個集合
list_1 = set([1,3,4,5,6,6,5,7,9])
list_2 = set([2,4,5,6,8,10])
print(list_1,list_2)
#輸出:{1, 3, 4, 5, 6, 7, 9} {2, 4, 5, 6, 8, 10}   #列表變為集合自動去重

#交集
print(list_1.intersection(list_2))
#輸出:{4, 5, 6}

#並集
print(list_1.union(list_2))
#輸出:{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

#差集
print(list_1.difference(list_2))                   #我有的,你沒有的
#輸出:{1, 3, 9, 7}
print(list_2.difference(list_1))
#輸出:{8, 2, 10}

#子集
list_3 = set([1,3,5])
print(list_3.issubset(list_1))                  #如果list_3是list_1的子集,返回Ture,否則返回False
#輸出:Ture
print(list_1.issuperset(list_3))                #父集
#輸出:Ture


#對稱差集
print(list_1.symmetric_difference(list_2))       #去掉兩個集合相交的
#輸出:{1, 2, 3, 7, 8, 9, 10}

print(list_1.isdisjoint(list_2))                  #如果兩個集合有交集則返回False,沒有交集則返回Ture


#關系測試另一種方式-------------------
#交集
print(list_1 & list_2)

#並集
print(list_1 | list_2)

#差集
print(list_1 - list_2)

#對稱差集
print(list_1 ^ list_2)

#集合基本操作---------------------------
#增加
list_1.add(111)                 #添加一項
list_1.update([222,333,444])    #添加多項
print(list_1)


#刪除
list_1.remove(111)              #刪除一值,不存在報錯
list_1.pop()                    #任意刪除一個
list_1.discard(333)             #刪除一個值,不存在不會報錯
print(list_1)

# print(len(list_1))            #查看集合長度
# print(222 in list_1)          #測試數據是否在集合中


python---集合