Python学习(四)数据结构 —— set frozenset
集合类型 set frozenset
赋值及去重
set 是一个无序不重复元素集,还有个frozenset 类型(顾明思议,就是不可改变元素的集合);
基本功能包括关系测试和消除重复元素;set支持& | - (交、并、差集) 等数学运算
set 赋值:非空集合由{}标识,逗号隔开元素; 注意,空集合表示为 set() 而不是 {} (这是dict);python 会对set自动去除重复
1 s = {} # 注意这是 dict类型 2 print(type(s)) 3 s = set() # 空集合表示方法 4 print(type(s)) 5 s = {1,1.0} 6 print(s) # 输出{1.0},可去重 int float类型不区分,输出float 7 s = [1,2,1,2,1,1,3] 8 s = set(s) # 强制转换成 set 9 print(s) # 同样去重了
同 list 相似,set 也有简单操作,如下:
1 s = {1,2,1,2,1,1,3,0} 2 print(s,len(s)) # len(s) 返回了set包含元素的个数(去重) 3 print((1.0 in s),(3 in s),(True in s),(False in s)) # 测试是否包含元素,注意0可以对应False,1可以对应True 4 print(True not in s)
交、并、差集运算
表示法: & | - ; 分别表示交集、并集、及非(具体意思请百度),无对应结果返回空集合,即 set() 示例如下:
1 a = {0,1,2} 2 b = {1,2,3} 3 print(a&b) # 交集 4 print(a|b) # 并集 5 print(a-b) # a差b 6 print(b-a) # b差a 7 a = {0,1,2} 8 b = {3,4,5} 9 print(a&b) # set()
一些函数也可作交、并、差运算,详细参见 python list、set 相关参考
增、删操作
s.add(elem) 增加;.remove(elem) .discard(elem) .pop() 删除;s.clear() 清空;详见下面实例
1 s = {0,1,2} 2 s.add(4) # .add(elem) 3 s.add(4.0) 4 s.add("4") 5 print(s) 6 s.remove(0) # .remove(elem) 去除现有元素,如不存在,会 raise error 7 print(s) 8 # s.remove(0) # 报错 9 s = {0,1,2} 10 s.discard(0) # .discard(elem) 去除现有元素,如不存在,不会报错 11 print(s) 12 s.discard(4) # 不会报错 13 s = {"a","b","c"} 14 print(s.pop(),s) # 删除一个不确定的元素,并 return 该元素,若集合为空,会 raise error 15 s = {1,2,3} 16 print(s.pop()) # 数字类型好像每次都会pop出最小的1 17 s = {1,2,3,"b","c"} 18 print(s.pop()) # pop出不确定的非数字,或者最小的数字1 19 s.clear() 20 print(s) # 清空
转载于:https://www.cnblogs.com/feeland/p/4367242.html
Python学习(四)数据结构 —— set frozenset相关推荐
- python学习四(处理数据)
python学习四(处理数据) head first python中的一个数据处理的例子 有四个U10选手的600米成绩,请取出每个选手跑的最快的3个时间.以下是四位选手的9次成绩 James 2-3 ...
- (零基础)入门python学习四步骤,附上Python全栈学习路线大刚!
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云 作者:python学习教程 ( 想要学习Python?Pyt ...
- JAYのpython学习笔记——数据结构之列表
python的数据结构分为好几种,包括列表(包含多维列表).元组.集合.字典. 在本单元,我们主要学习列表和多维列表. 列表可以存储任意大小的数据集合 需要区别的是,在其他的设计语言中,会用到数组来存 ...
- Python学习四: 连接数据库 与 数据清理
连接数据库 准备工作 楼主这里用的一个轻量级关系型数据库,MySQL (这里楼主安装MySQL的时候遇到了一个小问题,没有兼容服务器,根据这个帖子可以解决这个问题 分享 | 安装 mysql 报错 ...
- Python学习:数据结构
本文来自:入门指南 开胃菜参考:开胃菜 使用Python解释器:使用Python解释器 本文对Python的简介:Python简介 Python流程介绍:深入Python流程 目录: 目录: 5. 数 ...
- Python学习—基础数据结构之列表
基本数据结构之列表 列表list是一种有序的集合,可以随时添加和删除其中的元素.与c.java中的数组有相似之处,但是c.java中的数组必须存放同一类型的元素,而在python的列表中,存放的元素可 ...
- python学习四十四天(前端之HTML标签)
今日主要内容: web标准 浏览器内核 HTML介绍,规范,结构详解 字体标签 排版标签 超链接 图片标签 列表标签 <ul>.<ol>.<dl> 表格标签 < ...
- Python学习(四)后端开发框架django
常见python web开发框架: web.py Django Pylons Tornado Bottle django菜鸟教程 一.django项目创建与启动 1.安装django pip inst ...
- python的基本数据结构_Python学习笔记——基本数据结构
列表list List是python的一个内置动态数组对象,它的基本使用方式如下: shoplist = ['apple', 'mango', 'carrot', 'banana'] print 'I ...
- python科学计数法转换_对比Python学习Go 基本数据结构
公众号文章不方便更新,可关注底部「阅读原文」博客,文章随时更新. 本篇是「对比 Python 学习 Go」[1] 系列的第三篇,本篇文章我们来看下 Go 的基本数据结构.Go 的环境搭建,可参考之前的 ...
最新文章
- 利用python进行数据分析 英文-如何学习和评价《利用python进行数据分析》这本书?...
- 走出去广东谋定国际丰收节贸易会-林裕豪:从玉农业抓手
- atomic原子类实现机制_Java并发包-atomic包-让您彻底掌握AtomicInteger源码
- python idle怎么用_python的idle如何使用
- 夫妻两一个两年内3张卡9次逾期,一人4次,还能办理房贷吗?
- tasker使用手册_如何开始使用Tasker调整Android手机
- C#LeetCode刷题之#447-回旋镖的数量(Number of Boomerangs)
- stm32实验报告心得体会_STM32实验报告
- Netty文章目录汇总
- cmos和ttl_TTL和CMOS的区别详解
- 小象学院知识图谱学习笔记(一)
- 手机qq如何绑定qq邮箱服务器,iphone怎么绑定qq邮箱
- 外星人 Alienware x15 R2 评测
- python能做ppt吗_python可以写PPT吗
- python基础选择题库_智慧树题库Python基础期末答案2020年免费
- batchsize和learning rate的影响
- 同步发电机转子的转动惯量与运动方程(二) 同步发电机的转子运动方程
- 转伟大诗人舒婷的 致橡树
- apt upgrade与 apt dist-upgrade的区别
- 现代时序硬布线控制器状态机设计
热门文章
- Silverlight+WCF 新手实例 象棋 该谁下棋-B下A停(三十)
- kafka环境安装及简单使用(单机版)
- VS集成opencv编译C++项目遇到的问题
- 阿里云Ubuntu 14.04 + Nginx + let's encrypt 搭建https访问
- div嵌套div的居中问题
- HDU-2612 Find a way
- Codeforces 432E Square Tiling(结构体+贪婪)
- Discuz! X3.2新增管理员无法登录后台的解决办法
- seo策略从5方面下手
- [Linux网络编程学习笔记]套接字地址结构