day02.5-集合内置方法
集合——set的定义:test = {1,2,3,4,5} 或 test = frozenset(1,2,3,4,5)
特点:1. 集合是可变数据类型
2. 集合中元素是无序的,可以是数字、字符串与元组等不可变数据类型
3. 通过test = {1,2,3,4,5}方法定义的是可变集合;通过test = frozenset(1,2,3,4,5)方法定义的是不可变集合
1. 将指定元素添加到集合中
test = {1,2,3,4,5}
test.add(8)
print(test) """
运行结果:{1, 2, 3, 4, 5, 8}
结果分析:将元素8添加到集合test中
"""
2. 拷贝集合中元素
test = {1,2,3,4,5}
v = test.copy()
print(v) """
运行结果:{1, 2, 3, 4, 5}
结果分析:将集合test中所有元素拷贝并赋值给v
"""
3. 删除集合中指定元素;当该元素不存在时,返回错误信息
test = {1,2,3,4,5}
test.remove(3)
print(test) """
运行结果:{1, 2, 4, 5}
结果分析:删除集合test中值为3的元素
"""
4. 删除集合中指定元素;当该元素不存在时,不做任何处理
test = {1,2,3,4,5}
test.discard(3)
print(test)
print("--"*20) test.discard(8)
print(test)
"""
运行结果:
{1, 2, 4, 5}
----------------------------------------
{1, 2, 4, 5}
结果分析:
删除集合中值为3的元素;
由于集合中不存在值为8的元素,所以不做任何处理,集合中元素不变
"""
5. 随机删除并返回集合中某一元素
test = {1,2,3,4,5}
v = test.pop()
print(test)
print(v) """
运行结果:
{2, 3, 4, 5}
1
结果分析:随机删除集合中某一元素,并将该元素值返回给变量v
"""
6. 清空集合中元素
test = {1,2,3,4,5}
test.clear()
print(test) """
运行结果:set()
结果分析:清空集合中所有元素,得到一个空白集合
"""
7. 集合交运算
s1 = {1,2,3,4,5}
s2 = {1,3,5,7,9}
test = s1.intersection(s2) #或test = s1 & s2
print(test) """
运行结果:{1, 3, 5}
结果分析:计算集合s1和s2的交集
"""
8. 集合并运算
s1 = {1,2,3,4,5}
s2 = {1,3,5,7,9}
test = s1.union(s2) #或test = s1 | s2
print(test) """
运行结果:{1, 2, 3, 4, 5, 7, 9}
结果分析:计算集合s1和s2的并集
"""
9. 集合差运算
s1 = {1,2,3,4,5}
s2 = {1,3,5,7,9}
test = s1.difference(s2) #或test = s1 - s2
print(test) """
运行结果:{2, 4}
结果分析:计算集合s1和s2的差集
"""
10. 集合交叉补集运算
s1 = {1,2,3,4,5}
s2 = {1,3,5,7,9}
test = s1.symmetric_difference(s2) #或test = s1 ^ s2
print(test) """
运行结果:{2, 4, 7, 9}
结果分析:计算集合s1和s2的交叉补集(相当于从两集合的并集中减去两集合交集)
"""
11. 求集合交集,并将运算结果赋予源集合
s1 = {1,2,3,4,5}
s2 = {1,3,5,7,9}
s1.intersection_update(s2)
print(s1,s2) """
运行结果:{1, 3, 5} {1, 3, 5, 7, 9}
结果分析:计算集合s1和s2的交集,并将运算结果赋予集合s1,集合s2保持不变
"""
12. 求集合差集,并将运算结果赋予源集合
s1 = {1,2,3,4,5}
s2 = {1,3,5,7,9}
s1.difference_update(s2)
print(s1,s2) """
运行结果:{2, 4} {1, 3, 5, 7, 9}
结果分析:计算集合s1和s2的差集,并将运算结果赋予集合s1,集合s2保持不变
"""
13. 求集合交叉补集,并将运算结果赋予源集合
s1 = {1,2,3,4,5}
s2 = {1,3,5,7,9}
s1.symmetric_difference_update(s2)
print(s1,s2) """
运行结果:{2, 4, 7, 9} {1, 3, 5, 7, 9}
结果分析:计算集合s1和s2的交叉补集,并将运算结果赋予集合s1,集合s2保持不变
"""
14. 判断两集合是否存在交集
s1 = {1,2,3,4,5}
s2 = {1,3,5,7,9}
print(s1.isdisjoint(s2)) """
运行结果:False
结果分析:
若两集合不存在交集或其交集为空,则返回True
若两集合存在交集或其交集非空,则返回False
"""
15. 判断两集合是否满足s1<=s2
s1 = {1,2,3,4,5}
s2 = {1,2,3,4,5,6,7,8,9}
print(s1.issubset(s2)) """
运行结果:True
结果分析:若两集合满足s1<=s2,即集合s1为s2的子集,则返回True;否则返回False
"""
16. 判断两集合是否满足s1>=s2
s1 = {1,2,3,4,5,6,7,8,9}
s2 = {1,2,3,4,5}
print(s1.issuperset(s2)) """
运行结果:True
结果分析:若两集合满足s1>=s2,即集合s1为s2的"父"集,则返回True;否则返回False
"""
17. 更新集合元素
s1 = {1,2,3,4,5,6,7,8,9}
s2 = {1,2,3,4,5}
s2.update(s1)
print(s2) """
运行结果:{1, 2, 3, 4, 5, 6, 7, 8, 9}
结果分析:将集合s1的各个元素更新到集合s2中,相当于s1=s2
"""
day02.5-集合内置方法的更多相关文章
- 元组/字典/集合内置方法+简单哈希表(day07整理)
目录 二十三.元组内置方法 二十四.字典数据类型 二十五 集合内置方法 二十五.数据类型总结 二十六.深浅拷贝 补充:散列表(哈希表) 二十三.元组内置方法 什么是元组:只可取,不可更改的列表 作用: ...
- python之字符串,列表,字典,元组,集合内置方法总结
目录 数字类型的内置方法 整型/浮点型 字符串类型的内置方法 列表的内置方法 字典的内置方法 元组的内置方法 集合类型内置方法 布尔类型 数据类型总结 数字类型的内置方法 整型/浮点型 加 + 减 - ...
- day02.4-字典内置方法
字典——dict的定义:test = {"k1":18,2:True,"k3":[11,22,("zi","zai")] ...
- day02.2-列表内置方法
列表——list的定义:test = [1,12,9,"age",["zizai","jiapu"],"alex"] 特 ...
- python中的集合内置方法小结
#!/usr/local/bin/python3 # -*- coding:utf-8 -*- #集合性质:需要传入一个list,且不含重复的元素,无序 list_1=[1,2,1,4,5,8,3,4 ...
- day02.3-元组内置方法
元组——tuple的定义:test = (11,"alex",(22,33),[44,55],True) 特点:1. 元组是可迭代对象 2. 元组中元素是有序的,但其不可修改,也不 ...
- Python内置方法详解
1. 字符串内置方法详解 为何要有字符串?相对于元组.列表等,对于唯一类型的定义,字符串具有最简单的形式. 字符串往往以变量接收,变量名. 可以查看所有的字符串的内置方法,如: 1> count ...
- Python-集合数据类型内置方法
集合内置方法(必考) 用途:用于关系运算的集合体,由于集合内的元素无序且集合元素不可重复,因此集合可以去重,但是去重后的集合会打乱原来元素的顺序. 定义方式:{}内用逗号隔开多个元素,元素只能是不可变 ...
- Python 数据类型常用的内置方法(三)
目录 Python 数据类型常用的内置方法(三) 1.列表内置方法 1.sort():升序 2.reverse():颠倒顺序 3.列表比较运算 2.字典内置方法 1.对Key的操作 2.len( )- ...
随机推荐
- linux下mysql的源码安装
mysql有多中安装方法,本文只涉及编译安装,对其他方法感兴趣的可以自行百度. 1.首先获取mysql软件安装包,这里用wget下载 [root@localhost ~]# wget http://d ...
- 第1章WCF简介(WCF全面解析读书笔记2)
第1章 WCF简介 面向服务架构(SOA)是近年来备受业界关注的一个主题,它代表了软件架构的一种方向.顺应SOA发展潮流,微软于2006年年底推出了一种新的分布式通信框架Windows Communi ...
- Spring Data JPA动态查询(多条件and)
entity: @Entity @Table(name = "data_illustration") public class Test { @Id @GenericGenerat ...
- java中如何实现两个值互换
public class SwapVariable { public static void main(String[] args) { // 将两个数据进行交换: method2(,); metho ...
- VMware Workstation 虚拟机暂停后无法启动 出现Exception 0xc0000006 (disk error while paging) has occurred.错误
虚拟机暂停了,突然停电,再开机后无法启动暂停的虚拟机,出现下面的错误 VMware Workstation unrecoverable error: (vmx)Exception 0xc0000006 ...
- sqlserver分区表索引
对于提高查询性能非常有效,因此,一般应该考虑应该考虑为分区表建立索引,为分区表建立索引与为普通表建立索引的语法一直,但是,其行为与普通索引有所差异. 默认情况下,分区表中创建的索引使用与分区表相同分区 ...
- robotframework中文显示乱码
问题描述:接口.数据库返回信息有中文的时候会显示unicode的样式,如图 解决方法: 1.robotframework为3.0.X 2.找到Python安装目录下的\Lib\site-package ...
- js 数字游戏
在某网站看到一道js题,觉得有点意思 Some numbers have funny properties. For example: 89 --> 8¹ + 9² = 89 * 1 695 - ...
- Android中的Handler介绍
一.Handler的定义: 主要接受子线程发送的数据, 并用此数据配合主线程更新UI. 解释: 当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控 ...
- Python爬虫实战八之利用Selenium抓取淘宝匿名旺旺
更新 其实本文的初衷是为了获取淘宝的非匿名旺旺,在淘宝详情页的最下方有相关评论,含有非匿名旺旺号,快一年了淘宝都没有修复这个. 可就在今天,淘宝把所有的账号设置成了匿名显示,SO,获取非匿名旺旺号已经 ...