Python集合set-增加数据(add()、update())_删除数据(remove(x)、discard(x)、pop())_查找数据(in、not in)

一. 创建集合

创建集合使用{}set(), 但是如果要创建空集合只能使用set(),因为{}是用来创建空字典的。

s1 = {10, 20, 30, 40, 50}
print(s1)

s2 = {10, 30, 20, 10, 30, 40, 30, 50}
print(s2) # 结果和上面一样,集合天然去掉了重复的元素

s3 = set('abcdefg')
print(s3) # 每个字符一个单独元素

s4 = set()
print(type(s4))  # set

s5 = {} # 这不是集合 是字典
print(type(s5))  # dict  

在这里插入图片描述

特点:

  1. 集合可以去掉重复数据
  2. 集合数据是无序的,故不支持下标
s1 = {10, 20, 30, 40, 50}
s1[1] # 报错 集合无序,无法根据下标访问
s1.index(20) # 报错,集合无序,无法返回元素下标位置
s1.find(40) # 报错,集合无序,无法返回元素下标位置
  • 如何判断集合中是否有指定元素? 下面查找模块有 就是 in/not in

二. 集合常见操作方法

2.1 增加数据

1) add()

  • add()
s1 = {10, 20}
s1.add(100)
s1.add(10)
print(s1)  # {100, 10, 20}

因为集合天然有去重功能,所以,当向集合内追加的数据是当前集合已有数据的话,则不进行任何操作。

2) update() 追加数据序列

数据序列是个大类型,包括: list,str,tuple,dict,set

  • update(), 追加的数据是序列。
s1 = {10, 20}
# s1.update(100)  # 报错  
s1.update([100, 200]) # 必须是数据序列(str,list,tuple,dict,set)类型 本质是去遍历 然后一一加入
s1.update('abc')
print(s1)

在这里插入图片描述

2.2 删除数据

1) remove(x) [删除,数据不存在则报错]

  • remove(),删除集合中的指定数据,如果数据不存在则报错
s1 = {10, 20}

s1.remove(10)
print(s1) # {20}

s1.remove(10)  # 报错
print(s1)

2) discard(x) [删除,数据不存在也不报错]

  • discard(),删除集合中的指定数据,如果数据不存在也不会报错 (就相当于啥也没干就是了)
s1 = {10, 20}

s1.discard(10)
print(s1) # {20}

s1.discard(10) # 不报错 相当于啥也没干
print(s1) # {20}

在这里插入图片描述

3) pop() [随机删除,返回该数]

  • pop(),随机删除集合中的某个数据,并返回这个数据
    因为集合元素无序,所以只能说是随机删除
s1 = {10, 20, 30, 60, 50}

print(s1.pop())
print(s1)

在这里插入图片描述

2.3 查找数据 in/not in

  • in:判断数据在集合序列
  • not in:判断数据不在集合序列
s1 = {10, 20, 30, 40, 50}

print(10 in s1)
print(10 not in s1)

在这里插入图片描述

小结

  • 创建集合

    • 有数据集合
    s1 = {数据1, 数据2, ...}
    
    • 无数据集合
    s1 = set()
    
  • 常见操作

    • 增加数据
      • add()
      • update()
    • 删除数据
      • remove()
      • discard()
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值