Python基本数据类型——集合

一、集合简介

1、集合是无序的,且不允许重复
2、变量初始化
a  = {1, 3, "s", "n"}
print(type(a))   #<class 'set'>
b = set()
print(type(b))   #<class 'set'>

c = {}
print(type(c))    #<class 'dict'>

二、常用功能:增删查,去重,交集、并集、差集

1、增
  • add()
s = {1, 3, "s", "n"}
s.add("vae")
print(s)   #{1, 3, 'vae', 's', 'n'}
  • update(): 把要传入的元素拆分传入集合
s = {1, 3, "s", "n"}
s.update("hello")
print(s)  #{1, 3, 'n', 'vae', 's', 'h', 'o', 'l', 'e'}
2、删除:remove, pop, discard

remove: 有则删,无则报错,指定删除传入的参数
pop: 随机删除
discard: 有则删,无不做任何操作

  • remove()
s = {1, 3, "s", "n"}
print(s)   #{1, 'n', 3, 's'}
s.remove(3)
print(s)   #{1, 'n', 's'}
s.remove("h")
print(s)   #KeyError: 'h'
  • pop()
s = {1, 3, "s", "n"}
s.pop()
print(s)   #{'n', 3, 's'}
  • discard()
s = {1, 3, 's', 'l', 'o', 'n', 'e', 'h'}
s.discard("h")
print(s)    #{1, 3, 'e', 'n', 'o', 'l', 's'}
s.discard("v")
print(s)    #{1, 3, 'e', 'n', 'l', 'o', 's'}
3、查:isdisjoint()/issubset()/issuperset()
  • isdisjoint(): 判断不包含关系
s1 = {1, 3, 4}
s2 = {4, 3, 8}
print(s1.isdisjoint(s2))  #False
  • issubset()是否是子集
  • issuperset() 是否是父集
s1 = {1, 2, 3, 4}
s2 = {3, 4}
print(s1 & s2)
print(s1.issubset(s2))  #False
print(s1.issuperset(s2))  #True
4、交集:你有我也有,我们两共有部分
s1 = {1, 3, 4}
s2 = {4, 3, 8}
print(s1 & s2)    #{3, 4}
5、并集
s1 = {1, 3, 4}
s2 = {4, 3, 8}
print(s1 | s2)    #{1, 3, 4, 8}
6、差集
s1 = {1, 3, 4}
s2 = {4, 3, 8}
print(s1 - s2)    #{1}
7、去重:想要对数据去重时可以将其转换为集合
s = {1, 2, 2, 2, 4, 4, 6, 8}
print(s)     #{1, 2, 4, 6, 8}
L = [1, 2, 2, 2, 4, 4, 6, 8]
s1 = set(L)
print(s1)   #{1, 2, 4, 6, 8}
T = (1, 2, 2, 2, 4, 4, 6, 8)
s2 = set(T)
print(s2)   #{1, 2, 4, 6, 8}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值