Python学习(Day6)——集合

# 陌言
# 开发时间: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))

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值