python基础入门(集合)

python基础入门之集合

导语

  • 我们说过,创建字典用大括号,不过集合也是大括号,这点我们要注意一下,一定要区分数据结构,字典是键值对成对出现,集合就不是了,说这句话的意思就是集合没有键值对!

集合

  • 创建集合使⽤ {} 或 set() , 但是如果要创建空集合只能使⽤ set() ,因为 {} ⽤来创建空字典。PS:可以理解set在编程语言中的专业名字叫集合。
  • 特点:
    • 可以去掉重复数据;(自带去重功能)
    • 数据是⽆序的,故不⽀持下标 。
s1 = {10, 20, 30, 40, 50}
print(s1)
# {40, 10, 50, 20, 30}  PS:⽆序
s2 = {10, 30, 20, 10, 30, 40, 30, 50}
print(s2)
# {40, 10, 50, 20, 30} PS:去重
s3 = set('abcdefg')
print(s3)
# {'g', 'a', 'b', 'c', 'f', 'e', 'd'} PS:⽆序
s4 = set()
print(type(s4)) 
# set PS:set方法创建空集合
s5 = {}
print(type(s5)) 
# dict PS:不能直接创建空集合

  • add():添加数据,如果数据已存在则不做任何操作。
s1 = {10, 20}
s1.add(100)
s1.add(10)
print(s1) 
# {100, 10, 20}
  • update():追加的数据是序列,如果数据不是序列则报错。
s1 = {10, 20}
# s1.update(100) # 报错
s1.update([100, 200])
print(s1)
# {100, 10, 20, 200}

  • remove():删除集合中的指定数据,如果数据不存在则报错。
s1 = {10, 20}
s1.remove(10)
# {20}
print(s1)
s1.remove(10) 
print(s1)
# 报错
  • discard():删除集合中的指定数据,如果数据不存在也不会报错。
s1 = {10, 20}
s1.discard(10)
# {20}
print(s1)
s1.discard(10) 
print(s1)
# {20}
  • pop():随机删除集合中的某个数据,并返回这个数据。
s1 = {10, 20, 30, 40, 50}
del_num = s1.pop()
print(del_num)
# 40
print(s1)
# {10, 50, 20, 30}

  • in:判断数据在集合序列
  • not in:判断数据不在集合序列
  • 返回值都是布尔类型

总结

  • 数据序列就是字符串,列表,元组,字典,集合这几种,要注意可变和不可变类型,不过提一嘴,tuple():将某个序列转换成元组, list():将某个序列转换成列表,set():将某个序列转换成集合,python中还有很多内置方法,等详解方法的时候更能理解,有同学可能会觉得很神奇,其实你也可以写方法然后按照需求来达到你想要的目的,内置方法只是开发者觉得无聊,开发py的时候想,其他语言有的功能咱也得有,就算有也得用起来更方便更简洁,这个思想就是懒人开发,不想麻烦就得创造。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

郭郭郭二蛋

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

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

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

打赏作者

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

抵扣说明:

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

余额充值