前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >(python)数据结构---集合

(python)数据结构---集合

作者头像
py3study
发布2020-01-20 12:11:49
4410
发布2020-01-20 12:11:49
举报
文章被收录于专栏:python3python3

一、描述

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

二、集合的相关方法

1、set.add(elem)

  • 增加一个元素到集合中,如果集合中已经有这个元素,则什么都不做。
代码语言:javascript
复制
1 s = {2, 3, 4, 5}
2 s.add(6)
3 print(s)

运行结果如下:
{2, 3, 4, 5, 6}

2、set.update(iterable)

  • 用法与add方法一致,只不过参数必须是可迭代对象
代码语言:javascript
复制
1 s = {2, 3, 4, 5}
2 s.update("a")
3 print(s)

运行结果如下:
{2, 3, 4, 5, 'a'}

3、set.remove(elem)

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

运行结果如下:
{3, 4, 5}

4、set.pop()

  • 移除并返回任意的元素
  • 如果是空集,则抛异常KeyError
代码语言:javascript
复制
1 s = {3, 4, 5}
2 s.pop()
3 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、差集

  • 集合中除去和其他集合公共的部分
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/03/28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、描述
  • 二、集合的相关方法
    • 1、set.add(elem)
      • 2、set.update(iterable)
        • 3、set.remove(elem)
          • 4、set.pop()
            • 5、set.clear()
            • 三、集合的相关概念
              • 1、全集
                • 2、子集和超集
                  • 3、真子集和真超集
                    • 4、并集
                      • 5、交集
                        • 6、差集
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档