博客
关于我
python学习day11(集合,常见方法)
阅读量:396 次
发布时间:2019-03-04

本文共 1116 字,大约阅读时间需要 3 分钟。

创建集合

s1={   10,20,30,40,50}print(s1)  #{40, 10, 50, 20, 30}s2={   10,20,30,40,10,20}print(s2)  #{40, 10, 20, 30}s3=set('abdbsdf')print(s3)  #{'b', 'f', 's', 'd', 'a'}、s4=set()print(type(s4))  #
s5={ }print(type(s5)) #

注意:

【1】集合没有顺序(无序性),所以不支持下标
【2】集合不可重复性,所以重复的只取一次
【3】创建集合使用{} 或 set(),如果要创建空集合只能使用set(),因为{}用来创建字典

集合常见的操作方法

【1】增加数据

  • add():增加的是单个数据

区分:我也不知道为啥

s1={   10,20,30,40,50}s1.add(100)print(s1)  # {100, 40, 10, 50, 20, 30}
s1={   10,20,30,40,50}print(s1.add(100))  #None

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

【2】如果追加的是一个列表,或者集合就是报错

  • update():增加的是数据序列
s1={   10,20,30,40,50}s2=[10,20,30,40,10,20]s1.update(s2) print(s1)   #{40, 10, 50, 20, 30}

如果增加的是单个数据则报错

【2】删除数据:

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

查找数据

【1】in:存在True,不在FALSE

【2】not in:与上面相反

转载地址:http://msfg.baihongyu.com/

你可能感兴趣的文章
Netty工作笔记0060---Tcp长连接和短连接_Http长连接和短连接_UDP长连接和短连接
查看>>
Netty工作笔记0063---WebSocket长连接开发2
查看>>
Netty工作笔记0070---Protobuf使用案例Codec使用
查看>>
Netty工作笔记0077---handler链调用机制实例4
查看>>
Netty工作笔记0084---通过自定义协议解决粘包拆包问题2
查看>>
Netty工作笔记0085---TCP粘包拆包内容梳理
查看>>
Netty常用组件一
查看>>
Netty常见组件二
查看>>
netty底层源码探究:启动流程;EventLoop中的selector、线程、任务队列;监听处理accept、read事件流程;
查看>>
Netty心跳检测机制
查看>>
Netty核心模块组件
查看>>
Netty框架内的宝藏:ByteBuf
查看>>
Netty框架的服务端开发中创建EventLoopGroup对象时线程数量源码解析
查看>>
Netty源码—2.Reactor线程模型一
查看>>
Netty源码—3.Reactor线程模型三
查看>>
Netty源码—4.客户端接入流程一
查看>>
Netty源码—4.客户端接入流程二
查看>>
Netty源码—5.Pipeline和Handler一
查看>>
Netty源码—5.Pipeline和Handler二
查看>>
Netty源码—6.ByteBuf原理一
查看>>