python之集合学习笔记
来源:互联网 发布:橙e付网络 编辑:程序博客网 时间:2024/06/13 23:55
按我的理解,集合类似于数学中的集合这一概念。
集合有以下几个特性:
1.集合内的元素是无序的,这和列表与元组不同,后两者因为有序,所以可以用切片操作和下标索引。但集合不行。
2.集合只能用工厂方法来生成,函数有两个:set()与frozenset().分别是可变与不可变的集合工厂函数。
a=set("beyond")b=frozenset("beyond")
3.访问集合中的元素,要先判断集合中存在不存在这个元素,可以用in 与not in 操作符检查。例如:
a=set("beyond")#生成了一个集合if 'e' in a: print 'e'
4.更新集合的元素方法
a=set("beyond")a.add("c")print aa.update("hello")print a
5.删除集合元素或者集合本身
a=set("beyond")a.remove('b')print adel a
6.集合相等与大小的判断
a=set("beyond")b=frozenset("beoynd")#注意与上面字符串的顺序不一样,但两个集合是相等的print a==b
而如果两个集合,一个集合的元素全部可以在另一个集合中找得到,那么可以用大于小于号来作判断
a=set("beyond is a band")b=frozenset("beoynd")#注意与上面字符串的顺序不一样,但两个集合是相等的print a>bprint a<b
7.集合的数学意义上的操作
a.联合 | ,这个合并操作可以把两个集合中所有的 元素合并在一起。对照现实生活的情景如下:两个班级的学生一起联合举办某 个活动。那所有参加活动的同学就是:a班|b班
a=set("abc")b=set("def")c=a|bprint c
b.交集&,即两个集合中都共同拥有的相同的元素。比如两个班级中,有老师同时给这两个班级上课,那这些老师就是这两个班级师生集合的交集部分。
a=set("abc123")b=set("def123")c=a&bprint c
结果输出:set([‘1’, ‘3’, ‘2’])
c.差集-
a=set("abc123")b=set("def123")c=a-bprint c
8.前面说过集合有可变与不可变这两种类型,如果一个可变集合与一个不可变集合用集合操作,那结果是可变的还是不可变的呢?
答案是看集合操作符左右两边的集合类型,操作结果的类型与左边的集合类型相同。
9.以前我们习惯用+来给某个数据序列添加新的元素,但集合不支持这种操作,如果要添加,不妨用|操作符
阅读全文
0 0
- python之集合学习笔记
- Python学习笔记-数据结构之集合
- Python学习笔记之集合set
- Python 学习之集合
- Python学习之集合
- python学习之集合
- python学习之集合
- Python学习笔记之集合类型(set, frozeset)
- Python学习笔记--集合set
- Python学习之set()集合
- python基础学习之集合
- Python学习笔记:Python逆向输出集合
- javaSE学习笔记之集合
- Java学习笔记之集合
- JAVASE学习笔记之集合
- Java学习笔记之集合
- JavaSE学习笔记之-----集合
- Java学习笔记之集合
- STM32之RCC函数一览
- Xor 分段处理+LCA.
- flexbox布局
- springMVC+MQ 消息队列整合(一)
- 深度学习中的最大似然估计简介
- python之集合学习笔记
- Oracle 同义词 与私有同义词 and 公有同义词
- 前端面试题
- 三种图像格式的选择
- Codeforces858C Did you mean
- ubuntu16.04 安装时提示 无法将grub-efi-amd64-signed软件包安装到/target
- 数据分析师必读
- 基于JavaMail的Java邮件发送:简单邮件发送
- ajax提交json数据到后端C#解析