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