Python之集合

Python3 集合

  • 集合(set)是一个无序不重复元素序列。【无序:最终的存储顺序,可能与初始化的时候不同;不重复:即使,初始化的时候有重复的元素,最后存储,会自动删除重复的内容
  • 可以使用大括号 { } 或者 set() 函数创建集合.
  • 注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
#方式一
>>>parame = {'悟空','紫霞','我','狗蛋'}
>>>parame
{'悟空','紫霞','我','狗蛋'}

#方式二
>>>obj = set('Queue')
>>>obj
{'Q','u','e'}  #重复项自动删除

#方式三
>>>obj = set(('Queue','Qiu'))
>>>obj
{'Queue','Qiu'}

#空集合创建
>>>Nothing = set()   #创建空集合,唯有此法

集合的基本操作

  1. 添加元素
    s.add(x)
>>> obj = set(('GPU','CPU','Queue'))
>>> obj.add('地图')
>>> obj
{'CPU', 'Queue', '地图', 'GPU'}

还有一个方法:

s.update(x)

且参数可以是列表,元组,字典等;
x 可以有多个,用逗号分开。

>>> obj = set(('GPU','CPU','Queue'))
#参数为集合
>>> obj.update({1,'2'})
>>> obj
{'GPU', 'CPU', 1, '2', 'Queue'}
#参数为列表
>>> obj.update(['ACE','4'],['2',2])
>>> obj
{'GPU', 'CPU', 1, 2, 'ACE', '4', '2', 'Queue'}
#参数为字典【特殊之处:仅仅是添加的键,并没有添加值】
>>> obj.update({'like':'OJBK'})
>>> obj
{'CPU', 1, 2, '4', '2', 'GPU', 'like', 'ACE', 'Queue'}
  1. 移除元素
  • s.remove(x)
  • 将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误
>>> obj = set(('Crash','Queue','EN'))
>>> obj.remove('EN')
>>> obj
{'Crash', 'Queue'}
>>> obj.remove('LL')
Traceback (most recent call last):
  File "<pyshell#13>", line 1, in <module>
    obj.remove('LL')
KeyError: 'LL'
  • 第二种方法:s.discard( x )
  • 且如果元素不存在,不会发生错误。
>>> obj.discard('LL')   #未报错
>>> obj
{'Crash', 'Queue'}
>>> obj.discard('Queue')
>>> obj
{'Crash'}
  • 随机删除元素
  • s.pop()
  • set 集合的 pop 方法会对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除。
>>> obj = set(('Crash','Queue','EN'))
>>> obj.pop()
'EN'   #删除了EN
>>> obj
{'Crash', 'Queue'}
  1. 计算集合元素个数
    len(s)
  2. 清空集合
    s.clear()
  3. 判断元素是否在集合中存在
  • x in s
  • 判断元素 x 是否在集合 s 中,存在返回 True,不存在返回 False。

【注】:集合内置方法完整列表

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋山刀名鱼丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值