集合的用法

集合由不同元素组成,无序,且只能存放不可变类型(不能修改值):数字,字符串,元组,由大括号定义。集合是可变类型,可增加删除不能修改,可迭代,但是frozenset是不可变类型

telma = {1,4.8,("k",1),"ka"}
print(telma)
amlet = set("897801") #跟可迭代类型
print(amlet)
amlet.add("美")
print(amlet)
lem = amlet.copy()
print(lem)
lem.clear()
print(lem)
lem = amlet.copy()
me = amlet.copy()
amlet.pop()  #随机删除
print(amlet)
lem.remove("8") #指定删, 删除不存在的元素会报错
print(lem)
me.discard("101") #指定删, 删除不存在的元素不会报错
print(me)

 

{1, 4.8, ('k', 1), 'ka'}
{'0', '7', '1', '9', '8'}
{'0', '7', '1', '9', '美', '8'}
{'9', '1', '美', '0', '7', '8'}
set()
{'7', '1', '9', '美', '8'}
{'9', '1', '美', '0', '7'}
{'9', '1', '美', '0', '7', '8'}
telma = ["I", "l","o","v","e"]
amlet = ["l","i","f","e"]
tset = set(telma)
print(telma)
aset = set(amlet)
print(aset)
print("~~~~~~~~~~~~~~求交集~~~~~~~~")
print(tset.intersection(aset)) #求交集
print(tset&aset)  #求交集
print("~~~~~~~~~~~~~~求并集~~~~~~~~")
print(tset.union(aset)) #求并集
print(tset|aset) #求并集
print("~~~~~~~~~~~~~~求差集~~~~~~~~")
print(tset.difference(aset))
print(tset-aset) #存在于tset中不存在于aset
print(aset-tset)

 

['I', 'l', 'o', 'v', 'e']
{'l', 'e', 'i', 'f'}
~~~~~~~~~~~~~~求交集~~~~~~~~
{'l', 'e'}
{'l', 'e'}
~~~~~~~~~~~~~~求并集~~~~~~~~
{'i', 'o', 'e', 'v', 'l', 'f', 'I'}
{'i', 'o', 'e', 'v', 'l', 'f', 'I'}
~~~~~~~~~~~~~~求差集~~~~~~~~
{'o', 'I', 'v'}
{'o', 'I', 'v'}
{'i', 'f'}

 

print("~~~~~~~~~~~~~~求交叉集~~~~~~~~")
print(tset.symmetric_difference(aset))  #就是tset-aset加aset-tset
print(tset^aset)

 

~~~~~~~~~~~~~~求交叉集~~~~~~~~
{'f', 'o', 'v', 'I', 'i'}
{'f', 'o', 'v', 'I', 'i'}

 

telma = ["I", "l","o","v","e"]
amlet = ["l","i","f","e"]
tset = set(telma)
print(telma)
aset = set(amlet)
print(aset)
print("~~~~~~~~~~~~~~求差集并更新至原集合~~~~~~~~")
tset.difference_update(aset)
print(tset)

 

['I', 'l', 'o', 'v', 'e']
{'l', 'i', 'f', 'e'}
~~~~~~~~~~~~~~求差集并更新至原集合~~~~~~~~
{'I', 'v', 'o'}

 

telma = {5,6,7}
amlet ={1,3}
lem = {5,7}
print(telma.isdisjoint(amlet)) #是否没有交集
print(lem.issubset(telma))  #是否是子集
print(telma.issuperset(lem)) #是否是父集
telma.update(amlet)    #更新多个值,add只能更新一个值
print(telma)

 

True
True
True
{1, 3, 5, 6, 7}

 

posted on 2019-03-08 10:00  telma  阅读(232)  评论(0)    收藏  举报

导航