'''
myset={1,2,3,4,5,6} #数据不会重复,没下标,没次序
myset.add(8) #插入数据
myset.add(1) #去重
print(myset)
myset=set("abcdefg")
myset.update("abcdxyz")#update把不重复的字符添加到set中
print(myset)
'''
myset={1,2,3,4,5,6}
myset.update([1,2,8,9]) #单个整数不可以,list,tuple,字符串可以用update
print(myset)
###### 删除元素
myset.remove(5) #删除元素,和discard相同,只是删除不存在的元素会出错
myset.discard(14) #删除元素,
myset.pop() #删除第一个元素
myset.clear() #清空set
del myset #完全删除
myset.copy() #深复制(改变新的set,并不会改变原来的set)。变量赋值是浅复制,改变一个会同时改变另一个set
######## 遍历set
myset={1,2,3,4,5,6}
for i in myset: #遍历集合,副本(i)修改并不会修改原来的set
print(i)
#print(myset[0])#set没有索引
for idx,iddata in enumerate(myset): #enumerate生成索引
print(idx,iddata) #idx下标,iddata元素
####### set无法修改,修改可以先转换成List
#######
set1.difference(set2) #差集,和set1-set2相同
####### set运算符
set1={1,2,3,4,5}
set2={1,2,7,8,9}
set3={1,2,3,4,5}
set4={1,2,3,4,5,6}
'''
print( 1 in set3) #仅仅用于单个元素,不用于集合之间关系
print( 10 not in set3)
print(set1-set2) #set1有,set2没有
print(set2-set1) #set2有,set1没有
print(set1 & set2) #set1,set2共有
print(set1 | set2) #包含set1,set2,没有重复
print(set1 ^ set2)#并集-交集-,特色文化遗产
print(set1 == set3) #==,!=相等
'''
####### 关系运算符
myset1={1,2,3,4}
myset2={1,2,3,4,5}
myset3={1,10,11,12,13,16,18}
print(myset1>myset2)
print(myset1<myset2)
print(myset3>=myset2)
print(myset3<=myset2)
#print(5>=5)
#print(myset2>myset1) # myset2>myset1,myset2包含myset1所有元素
#print(myset1<myset2) #myset1是否被myset2包含
# myset2== myset1 myset2!= myset1 判断是否完全相等
#myset1 <myset2 myset1是否被myset2包含 myset1<=myset2 myset1是否被myset2包含 或者相等
#myset1>myset2 myset1>=myset2 myset1是否包含 myset2myset1 是否被myset2包含 或者相等
######### 子集与父集
myset1={1,2,3,4}
myset2={1,2,3,4,5}
print(len(myset1))#求长度
print(myset1.issuperset(myset2)) #(父集)myset1是否包含myset2
print(myset1.issubset(myset2)) #(子集)myset1是否被myset2包含
print(myset2.issuperset(myset1))
print(myset2.issubset(myset1))
######### 不可变set,不可以修改增加删除
fz=frozenset([1,2,3,4,5])
print(fz)
print(type(fz))
Python 集合(set)及其操作
最新推荐文章于 2024-03-12 11:50:32 发布