Python——集合Set的一些内容

1、集合可以去重

>>>l = [1, 1, 2, 2, 3]
>>>set(l)
>>>{1, 2, 3}
>>>list(set(l))
>>>[1, 2, 3]

2、集合的中缀运算符(以集合A和B为例)

  • | 运算符 ,A | B,返回A与B的合集,
  • &运算符,A & B,返回A与B的交集
  • -运算符,A - B, 返回A与B的差集
  • ^运算符,A ^ B,返回A与B的对称差集(A,B中不属于A交B的元素集合)
    各种运算符都有相应原地更新操作,如|=、&=、-=、^=

3、集合字面量
除了空集,集合的字面量可以写成{…}的形式,如:

>>>s = {1, 2, 3}
>>>type(s)
<class 'set'>

但若想创建一个空集,则必须用set()方法,如果写成{},则创建的是一个空字典。

s = set()

4、集合的比较运算符

e in s     #判断e是否属于s
s <= z     #判断s是否为z的子集
s <  z     #判断s是否为z的真子集
s >= z     #判断s是否为z的父集
s >  z     #判断s是否为z的真父集

5、集合set方法

s.add(e)        #把元素e添加到s中
s.clear()       #移除s所有元素
s.copy()		#对s浅复制
s.discard(e)	#如果s中有e则把它移除
s.remove(e)		#移除e,若集合没有则抛出KeyError异常
s.pop()			#随机移除一个元素,并返回其值
s.__len__()		#len(s)
s.__iter__()	#返回s的迭代器

6、集合的实现及导致的结果
集合的实现依赖于散列表,因此有一些特点如下:

  • 集合里的元素必须是可散列的
  • 集合很消耗内存(散列表的特性,空间换时间)
  • 可以很高效的判断元素是否存在于某个集合
  • 元素的次序取决于被添加到集合里的次序
  • 往集合里添加元素,可能会改变集合里已有元素的次序
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值