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的数据类型和各种数据类型的内置方法. 一.数据类型是何方神圣? 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当 ...
随机推荐
- C/C++源程序到可执行程序的过程
源程序.cpp 预处理得到 预处理文件.i 编译得到 汇编文件.S 汇编得到 目标文件.o 链接得到 可执行文件 例子:main.cpp fun.cpp fun.h #inclu ...
- nginx安装https证书
安装证书 文件说明:1. 证书文件xxxxx.pem,包含两段内容,请不要删除任何一段内容.2. 如果是证书系统创建的CSR,还包含:证书私钥文件xxxx.key. ( 1 ) 在Nginx的安装目录 ...
- POJ 1655 Balancing Act【树的重心模板题】
传送门:http://poj.org/problem?id=1655 题意:有T组数据,求出每组数据所构成的树的重心,输出这个树的重心的编号,并且输出重心删除后得到的最大子树的节点个数,如果个数相同, ...
- 吴裕雄--天生自然 PHP开发学习:MySQL 预处理语句
<?php $servername = "localhost"; $username = "root"; $password = "admin& ...
- ZJNU 1426 - YNingC的困惑
注意到N最大只有1e6,但是xy最大有2e8,直接模拟2e8会超时 所以可以将1e6个区间离散化后模拟,模拟时的最坏情况为2e6满足题意 /* Written By StelaYuri */ #inc ...
- 用FFmpeg+nginx+rtmp搭建环境实现推流
Windows: 1.下载文件: 链接:https://pan.baidu.com/s/1c2LmIHHw-dwLOlRN6iTIMg 提取码:g7sj 2.解压文件: 解压到nginx-1.7.11 ...
- amazon中文文档
在线调试器 https://mws.amazonservices.com.cn/scratchpad/index.html mws 中心 https://developer.amazonservice ...
- JS - ES5与ES6面向对象编程
1.面向对象 1.1 两大编程思想 1.2 面向过程编程 POP(Process-oriented programming) 1.3 面向对象编程 OOP (Object Oriented Progr ...
- Python笔记_第三篇_面向对象_1.面向对象的基本概念和作用域
1. 软件编程的实质: 软件编程就是将我们的思维转变成计算机能够识别语言的一个过程.重要的是思想,代码技术反而次要.因此思想也是最难的,突破固定的思想是关键 2. 什么是面向过程: * 自上而下顺序执 ...
- shell脚本中的条件测试if中的-z到-d的意思
文件表达式 if [ -f file ] 如果文件存在if [ -d ... ] 如果目录存在if [ -s file ] 如果文件存在且非空 if [ -r file ] ...