set.difference() 的用法(python3)_第二天python3 set常用方法

set

set的元素要求

set的元素必须可hash,目前学过的不可hash的类型有list、set;

1、元素不可以被索引

可变的、无序的、不重复的元素的集合

2、set可以被迭代

set增加

add(elem)

增加一个元素到set中,如果元素存在则什么都不做;

update(*others)

合并其他元素到set集合中来;参数others必须是可迭代对象;就地修改;可以写多个可迭代对象;

set删除

remove(elem)

如果set中有删除对象,则删除,如果没有,则抛出keyError;

discard(elem)

元素存在则删除,不存在则什么都不做;

pop()

移除并返回任意元素,因为是无序的,所以是任意元素;

空集合返回KeyError;

clear()

移除所有元素;

set修改、查询

set要么删除要么假如新的元素;

非线性结果,无法被索引,可以迭代所有元素;

成员运算符

通过测试发现,set的处理速度明显比list要高很多;由于set中没有重复数据,则set会通过hash的方式将数据计算出一个唯一hash值;所以处理会比较快;

set和线性结构

线性结构的查询时间复杂度是O(n),即随着数据规模的增大而增加耗时;

set、dict等结构,内部使用hash值作为key,时间复杂度可以做到O(1);查询时间和数据规模无关;

可hash类型

数值型int、float、complex

布尔型True、False

字符串string、bytes

tuple

None

以上都是不可变类型,成为hash类型;

set的元素必须是可hash的;

集合运算

并集

union(*others) 返回和多个集合合并后的新的集合

|运算符重载;等同于union;

update(*others) 和多个集合合并,就地修改;

|= 等同于update

交集

intersection(*others) 返回多个集合的交集

& 等同于intersection

intersection_update(*others) 获取和多个集合的交集,并就地修改;

&= 等同于intersection_update

差集

differece(*others) 返回和多个集合的差集

- 等同于difference

difference_update(*others) 获取和多个集合的差集并就地修改;

-= 等同于difference_update

对称差集

集合A和B,由所有不属于A和B的交集元素组成的集合,记作(A-B)U(B-A)

symmetric_differece(other) 返回和另一个集合的差集

^ 等同于symmetric_differece

symmetric_differece_update(other) 获取和另一个集合的差集并就地修改;

^= 等同于symmetric_differece_update

issubset(other)、<= 判断当前集合是否是另一个集合的子集

set1 < set2 判断set1是不是set2的真子集

issuperset(other)、>= 判断当前集合是否是other的超集

set1 > set2 判断set1是否是set的真超集

isdisjoint(other) 判断当前集合和另一个集合有没有交集,没有交集,返回True;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值