python-集合

python-集合

 

集合(set)是一个无序的不重复元素序列.

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

例:

list1=[1,3,4,2,3,4,5,9,3,7,8]
list2=set(list1)
list3=set([3,4,9,11,14,19,20])
print (list2,type(list2))

打印结果
{1, 2, 3, 4, 5, 7, 8, 9} <class 'set'>
#交集
print (list2.intersection(list3))
print(list2&list3)
打印结果

{9, 3, 4}
{9, 3, 4}

#并集
print(list2.union(list3))
print(list2^list3)

打印结果
{1, 2, 3, 4, 5, 7, 8, 9, 11, 14, 19, 20}

#差集
print(list2.difference(list3))
print(list3.difference(list2))

打印结果

{8, 1, 2, 5, 7}
{19, 11, 20, 14}

#子集与父集
list4=set([9,3,4])
print(list4.issubset(list3))
print(list3.issuperset(list4))
打印结果

True
True

#反向差集-对称差集
print(list2.symmetric_difference(list3))
打印结果
{1, 2, 5, 7, 8, 11, 14, 19, 20}
#不否有交集
print ("---------------")
list5=set([5,6,8])
print(list4.isdisjoint(list5))

打印结果

---------------
True

集合的一些运算

list5.add(999)
list5.update([888,666,555])
print(list5)
print(list2&list3)
print (list3|list2)
print(list2^list3)
print(list2-list3)
print(list3-list2)


打印结果
{5, 6, 999, 8, 555, 888, 666}
{9, 3, 4}
{1, 2, 3, 4, 5, 7, 8, 9, 11, 14, 19, 20}
{1, 2, 5, 7, 8, 11, 14, 19, 20}
{8, 1, 2, 5, 7}
{19, 11, 20, 14}



list5.remove(555)
list5.discard(333)
print(list5)
print(len(list5))
打印结果
{5, 6, 999, 8, 888, 666}
6
判断X 是否是Y的元素
cc={999,666}
print(cc<=list5)
print(cc.issubset(list5))

打印结果
True
True
#所有的元素,字典,列表,字符串,集合,判断是否在里面
print(666 in  cc)
print(666 not in  cc)

打印结果
True
False

 

posted @ 2019-11-26 00:37  科子  阅读(190)  评论(0编辑  收藏  举报