集合

1.什么是集合

用一个大括号括起一堆元素,用逗号隔开,并且里面的元素唯一,称之为集合,和数学上的集合类似

num = {1, 2, 3, 4, 5}
num

   {1, 2, 3, 4, 5}

2.集合是无序的,所以不支持索引功能,也不支持切片功能,并且会自动的将重复的元素删掉,具有去重的功能

num[2]
---------------------------------------------------------------------------TypeError                                 Traceback (most recent call last)<ipython-input-4-2c9c91209e53> in <module>()
----> 1 num[2]TypeError: 'set' object does not support indexing
num = {1, 1, 1, 1, 2}
num

   {1, 2}

3.创建集合

有俩种方式:1.直接将元素用大括号({})括起来;2.使用set()函数

set1 = {1, 2, 3, 4, 5}
set2 = set([1, 2, 3, 4, 5])
set1 == set2

   True

set3 = set("123456")
set3

   {'1', '2', '3', '4', '5', '6'}

4.我们可以通过set的方式将列表中重复的元素去掉

list1 = [1, 2, 3, 4, 5, 5]
list1 = list(set(list1))
list1

   [1, 2, 3, 4, 5]

5.访问集合

通过迭代的方式访问集合中的元素

set1 = {1, 2, 3, 4, 5}
for i in set1:print(i, end = " ")

   1 2 3 4 5

6.向集合中添加、删除元素

# 使用add()方法可以向集合中添加元素
set1.add(6)
set1

   {1, 2, 3, 4, 5, 6}

# 使用remove()方法删除集合中的元素
set1.remove(5)
set1

   {1, 2, 3, 4, 6}

7.不可变集合

如果期望集合中的元素不能随意被改变,我们可以使用frozenset()函数,把集合给frozen(冰冻)起来

set1 = frozenset({1, 2, 3, 4, 5})
set1[0] = 2
---------------------------------------------------------------------------TypeError                                 Traceback (most recent call last)<ipython-input-16-1f4f30b838db> in <module>()1 set1 = frozenset({1, 2, 3, 4, 5})
----> 2 set1[0] = 2TypeError: 'frozenset' object does not support item assignment

8.集合的运算

求交集a & b

set1 = {1, 2, 3}
set2 = {2, 3, 5}
set1 & set2

   {2, 3}

求并集 a | b

set1 | set2

   {1, 2, 3, 5}

求异或集 a ^ b

set1 ^ set2

   {1, 5}

集合的减法 a - b 表示从a集合中去掉b集合包含a的部分

set1 - set2

   {1}

python数据结构之集合(set)——超详细相关推荐

  1. python数据结构之字典(dict)——超详细

    字典(dict) 1.什么是字典 字典是具有映射关系的一个集合,有自己的标志性符号,用{}来定义.字典由多个键以及其对应的键值共同构成的,字典是无序的,只讲究对应关系,并且字典中的键是独一无二的 1. ...

  2. python数据结构之列表(list)——超详细

    列表 1.创建方式 [] 或 list() a = [] # 表示一个空列表 a = [1, 2, 3, 4, 5] a    [1, 2, 3, 4, 5] list("hello wor ...

  3. python数据结构之元组(tuple)——超详细

    元组 元组和列表相比,元组不可改变,且创建的时候逗号(,)才是元组的标志所在,小括号只是起一个补充作用,为了看起来好理解 1.创建元组 tuple2 = 1, 2, 3, 4 tuple2    (1 ...

  4. Java集合(超详细-含源码)

    一 集合体系结构 集合的体系结构分为单列集合和双列集合 二 Collection单列集合 Collection是单列集合的祖宗接口,他的功能是全部单列集合都可以继承使用的. 单列集合接口下又分为Lis ...

  5. python逻辑运算的一些流程图_Python大牛历时一个月打造的Python系统学习流程图,超详细!...

    对于刚开始接触Python的小伙伴来说,没有思路方法,不知道从何开始学习,把软件环境安装好后就不知所措了!接下来我给大家分享下多位大牛倾力打造的python系统学习流程,一个月才设计完的! Pytho ...

  6. 数据结构 —— 单链表(超详细图解 接口函数实现)

    系列文章目录 数据结构 -- 顺序表 数据结构 -- 单链表 数据结构 -- 双向链表 数据结构 -- 队列 数据结构 -- 栈 数据结构 -- 堆 数据结构 -- 二叉树 数据结构 -- 八大排序 ...

  7. 13位Python大牛历时一个月打造的Python系统学习流程图,超详细!

    对于刚开始接触Python的小伙伴来说,没有思路方法,不知道从何开始学习,把软件环境安装好后就不知所措了!接下来我给大家分享下多位大牛倾力打造的python系统学习流程,一个月才设计完的! #Pyth ...

  8. python逻辑流程图_Python大牛历时一个月打造的Python系统学习流程图,超详细!

    对于刚开始接触Python的小伙伴来说,没有思路方法,不知道从何开始学习,把软件环境安装好后就不知所措了!接下来我给大家分享下多位大牛倾力打造的python系统学习流程,一个月才设计完的! Pytho ...

  9. 用python做算法初步流程图_13位Python大牛历时一个月打造的Python系统学习流程图,超详细!...

    对于刚开始接触Python的小伙伴来说,没有思路方法,不知道从何开始学习,把软件环境安装好后就不知所措了!接下来我给大家分享下多位大牛倾力打造的python系统学习流程,一个月才设计完的! 需要pyt ...

最新文章

  1. Scala 集合入门
  2. android自定义view获取控件,android 自定义控件View在Activity中使用findByViewId得到结果为null...
  3. 【C语言入门教程】7.1 结构体类型变量的定义和引用
  4. HTML5 Audio(音频)
  5. oracle 如何形成死锁,Oracle数据表中的死锁情况解决方法
  6. 一个ASP.NE导出Excel类
  7. css布局与ldquo;切图rdquo;
  8. HBase性能优化方法总结
  9. EventThread线程对VSync的分发
  10. 格局再变?AWS CDN 落地中国
  11. 软件测试方法和技术知识点有哪些?
  12. druid加密数据库密码
  13. Android 点击图片全屏预览 -——ZoomPreviewPicture默认预览使用
  14. html 在框架里弹出页面,iframe弹出新窗口 iframe页面打开新窗口问题
  15. Job Shop Schedule 生产调度问题 (一) 简介
  16. android 微信朋友圈头像,微信进阶玩法,这样设置朋友圈和头像,个性又好看
  17. 散列函数和数字签名概念
  18. BZOJ2754: [SCOI2012]喵星球上的点名(AC自动机/后缀自动机)
  19. cygwin生成so
  20. 为何计算机用户名无法改回,电脑用户名为中文导致一些程序无法正常运行的解决办法,将电脑用户名的中文改为英文。...

热门文章

  1. Codeforces Round #327 div2
  2. 20165115 2017-2018-2 《Java程序设计》第六周学习总结
  3. 服务器内容推送技术(转)
  4. 手机网页宽度自动适应屏幕宽度的方…
  5. js无限加载分页原理实现
  6. 微软虚拟化技术——构建高效开发与测试环境
  7. MyEclipse下开发Web Service(转)
  8. 【PyQt5】连接 mysql 查询数据 并显示在 tableWidget 表格
  9. Java实现密码学工具,集成了对称加密算法DES,AES,IDEA,公开加密算法RSA,ECC,散列算法MD5,SHA1,CRC32,以及RSA,DSA,ECDSA数字签名验证示例。
  10. 【微型计算机原理与接口技术】80X86微处理器发展与内部结构