set也是一种组合数据类型,支持成员关系操作(in)、对象大小计算操作符(len()),并且是iterable。集合数据类型至少提供一个set.isdisjoin()方法,支持比较,也支持为逻辑操作(在集合用于联合、交叉等上下文中使用)。只有可哈希运算的对象可以添加到集合中,可哈希运算的对象包含一个__hash__()特殊方法,其返回值在某个对象的整个生命周期内都是相同的,并且可以使用__eq()__特殊方法进行相等性比较。

所有内置的固定数据类型(比如float、frozenset、int、str、tuple)都是可哈希运算的,都可以添加到集合中。内置的可变数据类型(比如dict、list、set)都不是可哈希运算的,因为其哈希值会随着包含项数的变化而变化。

操作符==与!=都是逐项比较(对嵌套项,比如集合内的元组或固定集合,则递归比较)其他比较操作符则进行子集比较火超集比较。

可变的set类型 {}

集合中的项是无序的,没有索引位置的概念,不能分片或按步距分片。set数据类型可以作为函数进行调用,不带参数进行调用时将返回一个空集合;带一个set参数时返回该参数的浅拷贝;对任意其他参数,则尝试将给定的对象转换为集合。空集合必须使用set()创建,而不能使用{}来创建。

set(“apple”)、set(“aple”)和{‘e’,‘p’,‘a’,‘l’}产生的三个集合都是一样的。集合常用语删除重复的数据项。比如,x是一个字符串列表,在执行x=list(set(x))后,x中的每个字符串都将是独一无二的,存放顺序也是任意的。集合支持内置的len函数,也支持使用in与not in进行快速成员关系测试。

举例,从文件列表中删除makefile文件

集合内涵

除了调用set()创建集合,或使用集合字面值创建集合外,可以使用集合内涵创建集合。

举例:html = {x for x in files if x.lower().endswitch((".htm",".html"))} 集合内涵中使用的iterable本身也可以是集合内涵(或任何其他类型的内核)

tem = set() for x in files if x.lower().endswith((".htm",".html")) tem.add(x)

固定的frozenset类型

固定集合是指一旦创建旧不能改变的集合,固定集合只能使用frozenset数据类型函数进行创建,不带参数调用时,frozenset(0将返回一个空的固定集合,带一个frozenset参数时,将返回该参数的浅拷贝,对任何其他类型的参数,都尝试将给定的对象转换为一个frozenset。该函数只能接受一个参数。

如果将二元运算符应用于集合与固定集合,那么产生结果的数据类型与左边操作数的数据类型一致。因此,如果f是一个固定集合,s是一个集合,那么f&s将产生一个固定集合,s&f则产生一个集合。在使用与!=等操作符时,操作数的顺序无关紧要,如果两个集合包含相同的项,那么fs结果为True。

本文地址:https://blog.csdn.net/asmartkiller/article/details/108237831

希望与广大网友互动??

点此进行留言吧!

python集合类型是一种具体的数据类型_Python3基础语法之集合类型相关推荐

  1. python变量类型-【干货】Python基础语法之变量类型

    原标题:[干货]Python基础语法之变量类型 还没关注? 01 Python编码 Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错. 解决 ...

  2. [Python从零到壹] 五.网络爬虫之BeautifulSoup基础语法万字详解

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  3. Python基础教程(二):基础语法、变量类型

    Python 基础语法 Python语言与Perl,C和Java等语言有许多相似之处.但是,也存在一些差异. 在本章中我们将来学习Python的基础语法,让你快速学会Python编程. 第一个Pyth ...

  4. Python基础入门_2基础语法和变量类型

    Python 基础入门系列第二篇,上一篇简单介绍了为什么用 Python,以及安装和配置环境. 这一篇将先介绍基础的语法,包括标识符,即变量名字,然后 Python 特色的缩进规则,注释.保留字等等, ...

  5. 从列表中切片最佳英雄组合,我的选择是亚索和李青——补充python基础语法有关数字类型和列表的知识

    本文继续补充个人对python基础语法的理解,这里主要讲数字类型和列表~ 目前还不算初级程序员把,但是一洗头就掉头发,现在都不敢洗头了~ 数字类型 python中的数字类型:int(整型).float ...

  6. python入门之函数结构函数的参数_python3基础之函数参数类型

    函数的参数是函数内部与外部交流的纽带,上一篇文章我们使用了最简单的参数形式(就一个参数).接下来测试一下多个参数的情况是怎样的? 1.测试1 例子中使用了两个参数p1和p2, 函数的功能就是打印出p1 ...

  7. python中使用什么表示代码块、不需要使用大括号_Python3 基础语法

    Python3 基础语法 阅读 (129) | 发布于 2020-05-11 18:12:32 编码 # -*- coding: utf-8 -*- 这是代码的编码方式.不是程序要处理的数据的编码方式 ...

  8. 返回值类型与函数类型不匹配_golang基础语法,定义函数类型 为已存在的数据类型起别名...

    简介 在 GO 语言中还有另外一种定义使用函数的方式,就是函数类型,所谓的函数类型就是将函数作为一种类型可以用来定义变量,这种用法类似于前面我们讲过的 int ,float64,string 等类型, ...

  9. C语言学习笔记01:C语言基础语法_变量类型_类型转换

    文章目录 C语言第一天课程笔记 1. 内容安排 2. 课堂笔记 2.1 计算机硬件 2.2 计算机软件 2.3 编程语言和编译器 2.4 编程语言发展 2.5 C语言标准 2.6 C语言学习理由 2. ...

最新文章

  1. AM335x(TQ335x)学习笔记——使用dtb方式启动内核
  2. WINCE对USB HOST供电的控制
  3. 35岁前务必成功的12级跳
  4. 多线程(二)线程控制
  5. 每日一笑 | 实名举报校长拿两份工资!
  6. jpa 实体映射视图_JPA教程:实体映射-第3部分
  7. 浙江大学PAT上机题解析之1008. 数组元素循环右移问题 (20)
  8. 笨方法“学习python笔记之函数
  9. tesseract-orc 合并识别结果
  10. linux mint 18安装中文,无法在Linux Mint 18.1“Serena”下安装pyFFTW
  11. baacloud无法连接到_加入 Beta 版“Baacloud” - TestFlight - Apple
  12. Linux系统tomcat修改端口
  13. 麒麟子带你快速进入Cocos Creator的3D世界
  14. jpress连接数据库mysql_通过Tomcat jpress连接不到数据库
  15. 如何打造自己有创意的平面设计灵魂作品
  16. “华为云,有技术”,并不只是一句口号而已
  17. Rtabmap 视觉建图与导航 Ubuntu 18.04 Kobuki
  18. 递归算法和文件队列算法----实现多级文件夹的遍历,删除和复制操作
  19. 嵌入式跑马灯实验报告linux,ARM嵌入式跑马灯设计实验报告.doc
  20. 一键安装google服务框架(更新最新版google市场)

热门文章

  1. oracle数据库如何写翻页_oracle数据库如何写翻页
  2. laravel mysql 锁表_Laravel中MySQL的乐观锁与悲观锁
  3. 2017年计算机三级网络技术试题,2017年计算机三级网络技术考前试题及答案(8)
  4. java-JSON: Expected value at 1:0 错误
  5. linux中改变文件大小,Linux 改变文件大小的方法
  6. java线程代码实现_Java 实现线程的2种方法的具体代码实例
  7. linux共享磁盘给指定ip,linux想挂载通过ipsan协议推送上来的磁盘,两个ip共分配了21个未分区的盘,...
  8. java填充二维数组_Java用Arrays.fill()初始化二维数组的实现
  9. 为什么Vue不能观察到数组length的变化?
  10. css定位position