概念

无序的,不可随机访问的,不可重复的元素集合

与数学中集合的概念类似,可对其进行相关的运算

集合分为可变集合和非可变集合:setfrozenset

定义

可变集合

s = {x1, x2, ......}

s = set(iterable)

集合推导式:类似列表推导式

不可变集合

fs = frozenset(iterable):iterable如果是dict的话,只会提取key作为set的元素

同样也可以使用集合推导式:fs = frozen(......)

注意

  1. 创建一个空集合时,需要使用set()或者frozen(),不能使用s={},否则创建的是一个空字典
  2. 集合中的元素,必须是可哈希的值(暂时理解为不可变类型)
  3. 如果集合中的元素值出现重复,则会被合并为一个

3 常用操作

单一集合操作

新增

s.add(x)

删除

s.remove(ele):指定删除某个元素,如果没找到,则报错
s.discard(ele):指定删除集合中的一个元素,如果没有这个元素,则什么也不干
s.pop(ele):随机删除并返回集合中的元素,若集合为空,则返回一个错误
s.clear():清空一个集合中的所有元素

修改

元素为不可变类型,不能修改

查询

无法通过索引或者key进行查询

  1. 通过 for in 进行查询
  2. 通过迭代器进行访问

不可变集合

不能进行增删改

可以通过for in和迭代器进行访问

集合之间的操作

可变集合与不可变集合混合运算,返回结果类型以运算符左侧为主!

交集

  • s1.intersection(Iterable)

    • 注意:

      • 字符串:之判定字符串中的非数字
      • 字典:只判定 key
  • s1 & s2
  • intersection_update(...)
    • 交集计算完毕后,会再次赋值给原对象
    • 会更改原对象,所以只适用于可变集合

并集

  • union():返回集合的并集
  • s1 | s2:符号写法
  • update():更新并集

差集

  • difference()
  • 使用符号 -
  • difference_update()

判定

  • isdisjoint():两个集合是否相交
  • issuperset():一个集合是否包含另一个集合
  • issubset():一个集合包含于另一个集合

补充

。。。。。。其它运算待整理

最新文章

  1. 如何试用Office 365 及 SharePoint Online(美版)
  2. share-jquery
  3. Android 自定义组件随着手指自动画圆
  4. X3850 Linux 下DSA日志收集办法
  5. 在 Visio 中录制宏
  6. Testing a Redux & React web application
  7. WPF中ListBox控件选择多个数据项
  8. web开发中各种宽高
  9. Ubuntu命令整理
  10. Python 爬虫入门(二)——爬取妹子图
  11. 深入理解OkHttp源码(三)——网络操作
  12. centos7中bash: maven: 未找到命令... 解决办法
  13. [持续交付实践] pipeline使用:快速入门
  14. c# .net WebRequest 始终报域名无法解析
  15. 【技术分享会】 @第五期 angularjs
  16. [实战]MVC5+EF6+MySql企业网盘实战(2)——用户注册
  17. OpenVAS应用实例
  18. BZOJ4881 线段游戏(二分图+树状数组/动态规划+线段树)
  19. LeetCode 410——分割数组的最大值
  20. ACM-百度之星资格赛之Labyrinth——hdu4826

热门文章

  1. setInterval 和 setTimeout 定时器
  2. AC3 mantissa quantization and decoding
  3. CentOS6.10 Nginx无法解析php文件
  4. IntelliJ IDEA 2017.3尚硅谷-----滚轮修改字体大小
  5. 修改vsftpd的默认根目录/var/ftp/pub到其他目录
  6. Apollo安装教程
  7. Linux实现树莓派3B的国密SM9算法交叉编译——(一)环境部署、简单测试与eclipse工程项目测试
  8. Angular 使用 frame 加载网络资源显示路径不安全问题
  9. 陆金所退出市场,我说:趁现在,抓紧离开P2P市场,你赞同吗?
  10. 简单记录搭建Harbor私服仓库