# 陌言
# 开发时间:2021/8/10 13:57
#集合为可变类型,集合是没有value的字典
#集合的创建方式
'''第一种{}'''
s={2,2,3,5,5,6,98} #集合中的元素不允许重复 #集合中的元素是无序的
print(s) #{2, 3, 98, 5, 6}
'''第二种 使用内置函数set()'''
s1=set(range(6))
print('s1',s1,type(s1))
'''可以将列表 元组 字符串 集合通过set()转换成集合类型'''
s2=set([1,2,3,4,3,2])
print('s2',s2,type(s2))
s3=set((12,3,21,123,124,2))
print('s3',s3,type(s3))
s4=set(('Python')) #将字符串拆解成一个一个字符
print('s4',s4,type(s4))
s5=set({12,312,12,53,1})
print('s5',s5,type(s5))
#定义一个空集合
s6={} #空字典
print('s6',s6,type(s6))
s7=set() #空集合
print('s7',s7,type(s7))
#使用 in / not in 判断元素是否存在于集合之中
print('n in s4:','n' in s4)
#向集合之中添加元素
s7.add('python') #添加一个元素
print('s7',s7,type(s7))
s7.update({123,23,45,3}) #添加至少一个元素
print('s7',s7,type(s7))
print('s7的长度:',len(s7)) #长度判断
#删除集合元素
s7.remove(3) #删除指定元素,若指定元素不存在则会抛出异常
print('s7',s7,type(s7))
s7.discard(23) #删除指定元素,若指定元素不存在则不进行操作,不抛出异常
print('s7',s7,type(s7))
s7.discard(123123)
print('s7',s7,type(s7))
s7.pop() #随机删除一个元素,无法指定参数
print('s7',s7,type(s7))
s7.clear() #清空集合
print('s7',s7,type(s7))
#集合之间的关系
s8={10,20,30,50}
s9={50,20,30,10}
print('s8:',s8)
print('s9:',s9)
print('s8 == s9?',s8 == s9) #True
print('s8 != s9?',s8 != s9) #False
#判断是否是子集 issubset()
print('s9是s8的子集?',s9.issubset(s8))
#判断集合是否是超集(即另一个集合是否为它的子集) issuperset()
print('s8是s9的超集?',s8.issuperset(s9))
#判断连个集合是否没有有交集
print('s8和s9没有交集?',s9.isdisjoint(s8)) #False 即两个集合有交集
s10={10,20,231}
print('s10:',s10)
print('s9:',s9)
print('s9和s10的交集为:',s10.intersection(s9))
print('s9和s10的交集为:',s10 & s9) #intersection()和&等价 求交集
print('s9和s10的并集为:',s10.union(s9))
print('s9和s10的并集为:',s10 | s9) #union()和| 等价 求并集
print('s9和s10的差集为:',s10.difference(s9)) #s10中有但是s9中没有的元素
print('s9和s10的差集为:',s10 - s9) #difference()和- 等价 求差集
print('s9和s10的对称差集为:',s10.symmetric_difference(s9)) #并集减去交集
print('s9和s10的对称差集为:',s10 ^ s9) #symmetric_difference()和^ 等价 求对称差集
#集合生成式 类似列表生成式
##列表
list6=[i for i in range(1,10)]
print('list6:',list6,type(list6))
list6=[i*i for i in range(1,10)]
print('list6:',list6,type(list6))
##集合 (将[]改成{}即可)
s11={i for i in range(1,10)}
print('s:',s,type(s11))
s11={i*i for i in range(1,10)}
print('s:',s,type(s11))
Python学习(Day6)——集合
最新推荐文章于 2024-07-11 19:45:38 发布