一、描述

  • set翻译为集合
  • set是可变的、无序的、不可重复的
  • set的元素要求可哈西(不可变的数据类型可哈西,可变的数据类型不可哈希)
  • set是无序的,因此不可以索引,也不可以修改
  • 线型结构的查询时间复杂度是O(n),随着数据的增大而效率下降;set、dict内部使用hash值作为key,时间复杂度可以做到O(1),和数据规模无关

二、集合的相关方法

1、set.add(elem)

  • 增加一个元素到集合中,如果集合中已经有这个元素,则什么都不做。
 s = {2, 3, 4, 5}
s.add()
print(s) 运行结果如下:
{2, 3, 4, 5, 6}

2、set.update(iterable)

  • 用法与add方法一致,只不过参数必须是可迭代对象
 s = {2, 3, 4, 5}
s.update("a")
print(s) 运行结果如下:
{2, 3, 4, 5, 'a'}

3、set.remove(elem)

  • 从set中移除指定的元素,如果元素不存在,抛异常KeyError
  • 与它作用相同的方法是discard(elem),不同在于如果元素不存在,什么都不做
 s = {2, 3, 4, 5}
s.remove(2)
print(s) 运行结果如下:
{3, 4, 5}

4、set.pop()

  • 移除并返回任意的元素
  • 如果是空集,则抛异常KeyError
 s = {3, 4, 5}
s.pop()
print(s) 运行结果如下:
{4, 5}

5、set.clear()

  • 清空集合

三、集合的相关概念

1、全集

  • 所有元素的集合

2、子集和超集

  • 一个集合A的所有元素都在另一个集合B内,A就是B的子集,B就是A的超集

3、真子集和真超集

  • A是B的子集,且A不等于B,A就是B的真子集,B就是A的真超集

4、并集

  • 多个集合合并的结果

5、交集

  • 多个集合的公共部分

6、差集

  • 集合中除去和其他集合公共的部分

最新文章

  1. 关押罪犯 and 食物链(并查集)
  2. what's deviceone
  3. 如何写出让java虚拟机发生内存溢出异常OutOfMemoryError的代码
  4. input标签内容改变的触发事件
  5. ajax的使用:(ajaxReturn[ajax的返回方法]),(eval返回字符串);分页;第三方类(page.class.php)如何载入;自动加载函数库(functions);session如何防止跳过登录访问(构造函数说明)
  6. SDWebImage下载图片有时候无法成功显示出来
  7. 学习C:程序
  8. hw 要的是螺丝钉
  9. CSS只是要点-收集
  10. oracle imp导入库到指定表空间
  11. ASP判断文件地址是否有效
  12. 怎样在一个页面使多个setInterval函数正常执行
  13. centos 6 安装zabbix 3.0
  14. Python爬虫入门教程 10-100 图虫网多线程爬取
  15. springboot 返回json字符串格式化问题
  16. EOS智能合约开发(一):EOS环境搭建和启动节点
  17. Nginx+Tomcat-cluster构建
  18. Hadoop项目开发笔录
  19. C#3.0:新特性
  20. 用java实现编译器-算术表达式及其语法解析器的实现

热门文章

  1. Spring概况(一)
  2. TOMCAT启动流程分析
  3. 函数式编程之-拒绝空引用异常(Option类型)
  4. windows系统下发布python模块到pypi
  5. golang写业务代码,用全局函数还是成员函数
  6. 【原创】STM32工程新建步骤
  7. Linux文本编辑器vim
  8. Oracle数据库over函数的使用
  9. spring boot(三) 集成mybatis
  10. maven创建一个简单的web项目