集合的用法
集合由不同元素组成,无序,且只能存放不可变类型(不能修改值):数字,字符串,元组,由大括号定义。集合是可变类型,可增加删除不能修改,可迭代,但是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}
浙公网安备 33010602011771号