python学习笔记(6)数据类型-集合
集合(set)是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式:
parame = {value01,value02,...}
或者
set(value)
basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
print(basket) # 这里演示的是去重功能 print('orange' in basket )
print('crabgrass' in basket) # 快速判断元素是否在集合内 ##两个集合之间的运算
a = set('abracadabra')
b = set('alacazam')
print(a)
print(b) print(a - b) #集合a中包含而集合b中不包含的元素
print(a | b) #集合a或b中包含的所有元素
print(a & b) #集合a和b中都包含了的元素
print(a ^ b) #不同时包含于a和b的元素
一、集合的基本操作
#集合的基本操作
#firstset = set(('wuzm','liyanan','shanbaoliang'))
firstset = {'wuzm','liyanan','shanbaoliang'}
print(firstset) #增加元素
firstset.add('wuzongmei') #将元素添加到集合中,如果元素已存在,则不进行任何操作。
firstset.update({'abcd','hahahah'}) #update,也可以添加元素,且参数可以是列表,元组,字典等
firstset.update([,],[,]) #移除元素
firstset.remove('wuzm') #移除某个元素,不存在会发生错误
firstset.discard('wuzm') #另一个方法移除集合中的元素,且如果元素不存在,不会发生错误
firstset.pop() #设置随机删除集合中的一个元素
firstset.clear() #清空集合 len(firstset) #计算集合元素的个数
二、集合的内置方法
复制:set.copy()
firstset = {'wuzm','liyanan','shanbaoliang'}
x=firstset.copy()
print(x) #拷贝一个集合,无返回值
取差集:difference() 和 difference_update()
difference_update()
方法与 difference()
方法的区别在于 difference()
方法返回一个移除相同元素的新集合,而 difference_update()
方法是直接在原来的集合中移除元素,没有返回值。
firstset = {'wuzm','liyanan','shanbaoliang'}
secondset = {'wuzm','wuzongling','wuzongmei'} print(firstset.difference(secondset)) # 返回firstset和secondset集合的差集
#返回的集合元素包含在第一个集合中,但不包含在第二个集合(方法的参数)中。
firstset.difference_update(secondset) # 无返回值,用于移除两个集合中都存在的元素。
print(firstset) #输出{'liyanan','shanbaoliang'}
取交集:intersection() 和 intersection_update()
intersection_update()
方法不同于 intersection()
方法,因为 intersection()
方法是返回一个新的集合,而 intersection_update()
方法是在原始的集合上移除不重叠的元素。
firstset = {'wuzm','liyanan','shanbaoliang'}
secondset = {'wuzm','wuzongling','wuzongmei'} x=firstset.intersection(secondset) #返回集合的交集
print(x)
firstset.intersection_update(secondset) #返回集合的交集
print(firstset)
取返回两个集合中不重复的元素集合
symmetric_difference() 方法返回两个集合中不重复的元素集合,即会移除两个集合中都存在的元素。
symmetric_difference_update() 方法移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
x = {'wuzm','liyanan','shanbaoliang'}
y = {'wuzm','wuzongling','wuzongmei'} x.symmetric_difference(y)
print(x)
x.symmetric_difference_update(y)
print(x)
其他内置方法
x = {'wuzm','liyanan','shanbaoliang'}
y = {'wuzm','wuzongling','wuzongmei'} print(x.isdisjoint(y)) #判断集合 y 中是否有包含 集合 x 的元素,如果不包含返回 True,否则返回 False。
print(x.issubset(y)) #判断集合x的所有元素是否都包含在指定集合y中,如果是则返回 True,否则返回 False。
print(x.issuperset(y)) #判断指定集合y的所有元素是否都包含在原始的集合x中,如果是则返回 True,否则返回 False。
print(x.union(y)) #返回两个集合的并集,即包含了所有集合的元素,重复的元素只会出现一次。
python学习笔记(6)数据类型-集合的更多相关文章
- Python学习笔记 - day3 - 数据类型及运算符
Python的数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同 ...
- python学习笔记二 数据类型(基础篇)
Python基础 对于Python,一切事物都是对象,对象基于类创建 不同类型的类可以创造出字符串,数字,列表这样的对象,比如"koka".24.['北京', '上 ...
- Python学习笔记3_数据类型
Python数据类型:数字.字符串.列表.元祖.字典 一.数字类型:(整型.长整型.浮点型.复数型) 1.整型(int):表示范围-2,147,483,648到2,147,483,647 2.长整型( ...
- 02 Python学习笔记-基本数据类型(二)
一.基本知识 1.缩进: 2.一行多条语句: 3.断行: 4.注释 # 单行注释 '''这是一段 多行注释''' 5. 变量 1. 变量类型(局部变量.全局变量.系统变量) 2. 变量赋值 多重赋值x ...
- python学习笔记:数据类型——列表/数组(list)
Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素.通过下标访问列表中的元素(又称索引.角标),下标从0开始计数.list定义,使用中括号[]. l ...
- Python学习笔记---数 数据类型 运算
python的四种数类型: 整数 int 浮点型 float 布尔 boolen 复数 complex >>> type(5)<class 'int'>>>& ...
- python学习笔记(数据类型)
python数据类型: int 类型 float 小数类型 string 字符串 布尔类型 a = True b = False 1.列表,也称数组或list或array.它的表达方式通过下标或索引或 ...
- python学习笔记之数据类型、字符编码、文件处理
1.数据类型 1.数字(int,float) 整形(int):定义 age=20 #本质age=int(20) 浮点类型:salary=3000.3 #本质salary=float(3000.3) ...
- python学习笔记:数据类型——数字、字符串、元祖、字典
计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定义不同的数 ...
- python学习笔记之数据类型(二)
上一篇博客,小波介绍了python的入门和简单流程控制,这次写python的数据类型和各种数据类型的内置方法. 一.数据类型是何方神圣? 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当 ...
随机推荐
- 吴裕雄--天生自然TensorFlow2教程:前向传播(张量)- 实战
手写数字识别流程 MNIST手写数字集7000*10张图片 60k张图片训练,10k张图片测试 每张图片是28*28,如果是彩色图片是28*28*3-255表示图片的灰度值,0表示纯白,255表示纯黑 ...
- Maven - No plugin found for prefix 'tomcat7' in the current project
问题发现: 在构建Maven项目的时候,出现了No plugin found for prefix 'tomcat7' in the current project的错误. 是需要在Maven的Pom ...
- DVWA-目录遍历-文件包含
开门见山 · 目录遍历 替换成 2. 文件包含可以使用 绝对路径 也可以 3. 可以使用文件包含来包含一个网址,或者是一个shell 远程文件 空字符绕过字符过滤 %00
- eclipse启动tomcat出现8080,8009,8005端口被占用的问题
有时候我们在eclipse中启动项目时,Tomcat服务器会报错,显示8080.8009.8005这几个端口被占用,此时你用debug启动项目时会发现不管用,console控制台什么信息也没有,此时产 ...
- Python之小作业
文档如下: # name, age, score tom, 12, 86 Lee, 15, 99 Lucy, 11, 58 Joseph, 19, 56 第一栏为姓名(name),第二栏为年纪(age ...
- \_\_slots\_\_
__slots__ 一.什么是__slots__ __slots__是一个类变量,变量值可以是列表,元祖,或者可迭代对象,也可以是一个字符串(意味着所有实例只有一个数据属性) 使用点来访问属性本质就是 ...
- \_\_doc\_\_
__doc__ 注释信息 一.doc 返回类的注释信息 class Foo: '我是描述信息' pass print(Foo.__doc__) 我是描述信息 该属性无法被继承 class Foo: ' ...
- Matlab高级教程_第四篇:白噪声的MATALB生成方式
1. 白噪声主要是高斯白噪声. 2. 为什么是高斯白噪声? 高斯白噪声:1)这个噪声它是一个随机信号.2)“白”是指其功率谱的常数,这样他的自相关函数是狄拉克函数(冲激函数),由于它的自相关函数是冲激 ...
- Django框架(五):模型(一) 定义属性
1. 定义属性 Django根据属性的类型确定以下信息: 当前选择的数据库支持字段的类型 渲染管理表单时使用的默认html控件 在管理站点最低限度的验证 django会为表创建自动增长的主键列,每个模 ...
- iOS播放器、Flutter高仿书旗小说、卡片动画、二维码扫码、菜单弹窗效果等源码
iOS精选源码 全网最详细购物车强势来袭 一款优雅易用的微型菜单弹窗(类似QQ和微信右上角弹窗) swift, UITableView的动态拖动重排CCPCellDragger 高仿书旗小说 Flut ...