集合(set)及其魔法
来源:互联网 发布:伊顿公学 知乎 编辑:程序博客网 时间:2024/05/16 13:46
集合(set)及其魔法
集合定义及特性
定义:由任意个不同的元素聚集而成,集合中是一组无序的可hash的值,可以作为字典的key
特性:
- 不同元素、无序、元素必须为不可变类型的数据
- 集合的目的是通过进行集合间的关系运算来判断集合间的关系,故无需纠结集合中的单个值
集合的魔法
1. add() 向集合中添加元素,如果已存在相同元素则去重
s = {1,2,3,4,4}print(s)s.add(3)print(s)s.add('3')print(s)#{1, 2, 3, 4}#{1, 2, 3, 4}#{'3', 1, 2, 3, 4}
2. clear() 清空集合
3. copy() 复制集合
s1 = s.copy()print(s1)#{'3', 1, 2, 3, 4}
4. 删除元素
4.1 pop() 随机删除
4.2 remove() 指定删除,如果指定的元素不存在,则报错
s = {1,2,3,4,5}s.remove(3)print(s)#{1, 2, 4, 5}
***4.3 discard() 指定删除,如果指定的元素不存在,不报错
s = {1,2,3,4,5}s.discard(123)print(s)#{1, 2, 3, 4, 5}
5. 集合的交集
5.1 ” & ” 符号
x = {1,3,5,7}y = {2,3,4,5,6}b = x & yprint(b)#{3, 5}
5.2 intersection() 交集
x = {1,3,5,7}y = {2,3,4,5,6}a = x.intersection(y)print(a)#{3, 5}
6. 集合的并集
6.1 ” | ” 符号
x = {1,3,5,7}y = {2,3,4,5,6}a = x | yprint(a)#{1, 2, 3, 4, 5, 6, 7}
6.2 union 并集
x = {1,3,5,7}y = {2,3,4,5,6}a = x.union(y)print(a)#{1, 2, 3, 4, 5, 6, 7}
7. 集合的差集
7.1 ” - ” 符号
- x - y 结果:
x = {1,3,5,7} y = {2,3,4,5,6} a = x - y print(a) #{1, 7}
7.2 difference 差集
- y -x 结果:
x = {1,3,5,7} y = {2,3,4,5,6} a = y.difference(x) print(a) #{2, 4, 6}
8. 集合的补集
8.1 ” ^ ” 符号
8.2 symmetric_difference() 补集
x = {1,3,5,7}y = {2,3,4,5,6}a = x | yprint('a',a)b = x & yprint('b',b)c = a - bprint('c',c)d = x.symmetric_difference(y)print('d',d)e = x ^ yprint('e',e)#a {1, 2, 3, 4, 5, 6, 7}#b {3, 5}#c {1, 2, 4, 6, 7}#d {1, 2, 4, 6, 7}#e {1, 2, 4, 6, 7}
9. update() 可以同时更新多个值,并且更新运算过程的结果
9.1 x的值不会因为计算过程而发生变化
x = {2,3}y = {1,2,3,4}a = x & yprint('x',x)#x {2, 3}
x的值随着计算过程而更新
b = x.update(y)print('x',x)#x {1, 2, 3, 4}
9.2 update与add的区别是,upate可同时传多个元素,add只能传一个元素
x = {2,3}c = x.update([4,5,6,7])print(x)#{1, 2, 3, 4, 5, 6, 7}
10. frozenset() 不可变集合
a = frozenset ([1,2,3,4])print(a)#frozenset({1, 2, 3, 4})
阅读全文
0 0
- 集合(set)及其魔法
- 集合对象set及其操作
- Python 集合(set)及其操作
- Set集合及其实现类
- Java---27---Set集合及其子类HashSet
- 集合---Set及其子实现类
- 集合(四)Set及其子类
- 集合二(set及其子类、Map、Collections、Arrays、增强for)
- 形态学及其他集合运算(Morphological and Other Set Operations)
- JAVA基础复习十七-Set集合及其子类
- Set,List集合及其子类/泛型/增强for循环
- Java 单列集合Set及其子实现类
- Java基础---集合(Set接口及其子类、Map接口及其子类)
- JavaSE----API之集合(Collection、List及其子类、Set及其子类、JDK1.5新特性)
- Set 集合
- Set集合
- Set集合
- Set集合
- [已解决]angular4 怎么引用没有.d.ts声明文件的js库
- WPS如何制作指定大小的表格以宽2cm高1cm的表格为例
- Vuex(四)--Vue核心概念Mutation
- 2017最新的CocoaPods的安装过程
- linux .bin安装包制作
- 集合(set)及其魔法
- SuperPlayer 播放器
- 在U-boot中添加以太网驱动
- eclipse出现An internal error occurred during: "Building workspace". Java heap space 错误。
- Linux命令行的艺术(2)-文件及数据处理
- 笨方法学习Python-习题30: Else 和 If
- PullToRefreshScrollView之自己创建ListVView
- freeRTOS API简记
- uiautomator测试判断结果后保存入指定文件夹路径中