python复习之集合 set

集合 set:

    集合是可变的容器

    集合内的数据对象都是唯一的(不能重复)

    集合是无序的存储结构,集合总得数据没有先后关系

    集合内的元素必须是不可变对象

    集合是可迭代的

   集合是相当于只有键的字典

集合的构造函数:

set() # 创建一个空的集合对象

set(iterable) # 用可迭代对象创建一个新的集合对象

例:

>>> set("ABC")
{'B', 'C', 'A'}

>>> set("ABCCBA")
{'B', 'C', 'A'}

集合的运算:

    交集,并集,补集,子集,超集

& 生成两个集合的交集

>>> s1 = {1, 2, 3}
>>> s2 = {2, 3, 4}
>>> s1 & s2
{2, 3}

| 生成两个集合的并集

>>> s1 = {1, 2, 3}
>>> s2 = {2, 3, 4}
>>> s1 | s2
{1, 2, 3, 4}

- 生成两集合的补集

>>> s1 = {1, 2, 3}
>>> s2 = {2, 3, 4}
>>> s1 -s2
{1}
>>> s2 - s1
{4}

^生成两个集合的对称补集

>>> s1 = {1, 2, 3}
>>> s2 = {2, 3, 4}
>>> s1 ^ s2
{1, 4}

> 判断一个集合是另一个集合的超集

< 判断一个集合是另一个集合的子集

>>> s2 = s1 | s2
>>> s1 > s2
False
>>> s1 < s2
True

== != 判断是否相同

>>> s1 == s2
False

另:

>= 超集或相同

<= 子集或相同

in/not in 运算符

    等同于字典,in用于集合中,判断一个值是否存在于集合中

    not in 反之

字典和集合的优点:

in/not in 运算符的查找速度快

集合常用方法:

S.add(e) # 在集合中添加一个新的元素e,如果元素存在,则不添加

S.remove(e) # 从集合中删除一个元素,如果元素不存在于集合中则会产生一个KeyError的错误

S.discard(e) # 从集合中移除一个元素(不会产生错误)

S.clear() # 清空集合

S.copy() # 将集合浅拷贝

S.pop() # 从集合s中删除一个随机元素,如果集合为空,则引发KeyError的错误

S.update(s2) # 用s2更新集合S

集合推导式:

作用:

    生成集合

语法:

    {表达式 for 变量 in 可迭代对象[if 真值表达式]}

例:

# 生成x平方的集合
>>> {x**2 for x in range(10)}
{0, 1, 64, 4, 36, 9, 16, 49, 81, 25}

固定集合:

作用:

    创建一个不可变的集合,无序的,含唯一元素的集合

固定集合的构造函数:

    frozenset() # 创建空的固定集合

    frozenset() # 用可迭代对象创建一个固定集合

运算:

    & 交集

    | 并集

    - 补集

    ^ 对称补集

    in / not in 运算符

    < <= > >= == !=

以上运算符与set使用相同

固定集合的方法:

    相当于集合的全部方法(去掉修改集合的方法)

用途:

    固定集合可以作为字典的键,还可用作集合的值

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值