概念

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

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

集合分为可变集合和非可变集合: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():一个集合包含于另一个集合

补充

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

Python:集合类型的更多相关文章

  1. Python集合类型的操作与应用

    Python集合类型的操作与应用 一.Python集合类型 Python中的集合类型是一个包含0个或多个数据项的无序的.不重复的数据组合,其中,元素类型只能是固定数据类型,如整数.浮点数.字符串.元组 ...

  2. 代码与图详解性能之Python集合类型(list tuple dict set generator)

    Python内嵌的集合类型有list.tuple.set.dict. 列表list:看似数组,但比数组强大,支持索引.切片.查找.增加等功能. 元组tuple:功能跟list差不多,但一旦生成,长度及 ...

  3. python集合类型

    集合类型简介 集合也是容器,其内元素都是无序.唯一.不可变的.它常用来做成员测试.移除重复数据.数据计算(比如交集.并集.差集). 集合Set是dict的无value版.集合也使用大括号包围: > ...

  4. 遇见Python集合类型

    Python目前有两种内置集合类型,set和frozenset. Ⅰ.两者区别 set是可变的,没有哈希值,其内容可以使用add()和remove()这样的方法来改变,所以不能被用作字典的键或其他集合 ...

  5. python集合类型set

    set 类型的简单粗暴取出并集合交集  |   & li=[11,22,33] n_li=[44,55] b= (list(set(li)&set(n_li))) b2=set(li) ...

  6. 《Python核心编程》 第七章 映射和集合类型 - 习题

    课后习题 7–1. 字典方法.哪个字典方法可以用来把两个字典合并到一起? 答: dict1 = {' :' python' } dict2 = {' :"hello" } dict ...

  7. python set type 集合类型的数据介绍 (set frozenset)

      python支持数学中的集合概念,如:通过in,not in 可以检查某元素是否在,不在集合中. python有两种集合类型,set(可以变的,不能哈希,不能用作字典的key),frozenset ...

  8. Python核心编程(第七章)--映像和集合类型

    字典:它是一个容器类型,能存储任意个数的Python对象,也包括其他容器类型,Python的字典是作为可变的哈希表实现的 映像类型中的数据是无序排列的   可以用工厂方法dict()来创建字典,也可以 ...

  9. Python基础-字符串、集合类型、判断、深拷贝与浅拷贝、文件读写

    字符串 1.定义三个变量: 2.交换两个变量值 1)引入第三个变量: 2)Python引入第三方变量: 3)不引入第三方变量: 3. isalpha 是否是汉字或字母 4.Isalnum  是否是汉字 ...

  10. 第二百九十九节,python操作redis缓存-SortSet有序集合类型,可以理解为有序列表

    python操作redis缓存-SortSet有序集合类型,可以理解为有序列表 有序集合,在集合的基础上,为每元素排序:元素的排序需要根据另外一个值来进行比较,所以,对于有序集合,每一个元素有两个值, ...

随机推荐

  1. [lua]紫猫lua教程-命令宝典-L1-01-09. string字符串函数库

    L1[string]01. ASCII码互转 小知识:字符串处理的几个共同的几点 1.字符串处理函数 字符串索引可以为负数 表示从字符串末尾开始算起 所有字符串处理函数的 字符串索引参数都使用 2.所 ...

  2. Jarvis OJ - Baby's Crack - Writeup

    Jarvis OJ - Baby's Crack - Writeup M4x原创,欢迎转载,转载请表明出处 这是我第一次用爆破的方法做reverse,值得记录一下 题目: 文件下载 分析: 下载后解压 ...

  3. IntelliJ IDEA 2017.3尚硅谷-----界面展示

  4. C/C++内存四区

    内存模型图 32位CPU可寻址4G线性空间,每个进程都有各自独立的4G逻辑地址,其中0~3G是用户态空间,3~4G是内核空间,不同进程相同的逻辑地址会映射到不同的物理地址中.其逻辑地址其划分如下: 各 ...

  5. 第二十七篇 玩转数据结构——集合(Set)与映射(Map)

          1.. 集合的应用 集合可以用来去重 集合可以用于进行客户的统计 集合可以用于文本词汇量的统计   2.. 集合的实现 定义集合的接口 Set<E> ·void add(E) ...

  6. PHP 源码 —— is_array 函数源码分析

    is_array 函数源码分析 本文首发于 https://github.com/suhanyujie/learn-computer/blob/master/src/function/array/is ...

  7. java: -source 1.5 中不支持 diamond 运算符 ,lambadas表达式 2018-03-13 22:43:47 eleven十一 阅读数 876更多

  8. bugku 你必须让他停下

    首先打开链接会发现一个不断刷新的网页 然后使用抓包工具burpsuit抓网页 然后右键点击跳转到repeater 然后点击go一直点击 注意黄色区域的变化然后在点击过程中会发现flag 然后拿到答案

  9. 吴裕雄 python 机器学习——集成学习AdaBoost算法回归模型

    import numpy as np import matplotlib.pyplot as plt from sklearn import datasets,ensemble from sklear ...

  10. Web前端性能优化总结——如何提高网页加载速度

    一.提高网页加载速度的必要性 国际知名的一组来自Jupiter Research的数据显示:购物者在访问网站过程中的不满会导致销售损失和品牌受损,其中 77%的人将不再访问网站 ,62%的人不再从该网 ...