python基础入门(8)之集合

目录

Python集合

一、集合理解

二、访问集合

2.1)遍历集合

3.2)检查是否存在

三、添加集合

3.1)添加项目值

3.3)添加任何可迭代对象

四、移除集合项

4.1)remove方法

4.2)iscard() 方法

4.3)pop() 方法

4.4)clear() 方法

4.5)del关键字

五、循环集合

六、集合连接

6.1)普通连接

6.2)仅保留重复项

6.3)保留所有,但不保留重复项

​七、练习


Python集合

一、集合理解

基本形式:

myset = {"笨小孩1", "笨小孩2", "笨小孩3"}

集合是用大括号写的。
创建一个集合:

myset = {"笨小孩1", "笨小孩2", "笨小孩3"}
print(myset)

返回:

注意:集合是无序的,因此您无法确定项目的显示顺序。

二、访问集合

2.1)遍历集合

您不能通过引用索引或键来访问集合中的项目。但是您可以使用循环遍历集合项for ,或者使用in关键字询问集合中是否存在指定的值 。
例如:

myset = {"笨小孩1", "笨小孩2", "笨小孩3"}
for i in myset:print(i)

返回:

3.2)检查是否存在

检查集合中是否存在“串串一号”:(显然不在)

myset = {"笨小孩1", "笨小孩2", "笨小孩3"}
print('笨小孩4' in myset)

返回布尔值:

三、添加集合

3.1)添加项目值

创建集合后,您无法更改其项目,但可以添加新项目。要将一项添加到集合中,请使用add() 方法。
例如:添加笨小孩4到集合中

myset = {"笨小孩1", "笨小孩2", "笨小孩3"}
myset.add('笨小孩4')
print(myset)

返回:

 3.2)添加集合

要将另一个集合中的项目添加到当前集合中,请使用update() 方法。
例如将myset1添加到myset中:

myset = {"笨小孩1", "笨小孩2", "笨小孩3"}
myset1 = {"笨小孩1", "笨小孩2", "笨小孩3",'笨小孩4'}
myset.update(myset1)
print(myset)

返回:

为什么?别忘了我们的集合不能重复,重复的集合会被覆盖,因此只添加了新的值进来。

3.3)添加任何可迭代对象

update()方法中的对象不一定是集合,它可以是任何可迭代对象(元组、列表、字典等)。
例如:将myset2列表加入集合myset1

# coding=utf-8
myset1 = {"笨小孩1", "笨小孩2", "笨小孩3",'笨小孩4'}
myset2=['笨小孩','加油']
myset1.update(myset2)
print(myset1)

返回为:

四、移除集合项

4.1)remove方法

要删除集合中的项目,请使用remove()、 或discard()方法。
例如我要移除川川菜鸟:

myset4 = {"笨小孩1", "笨小孩2", "笨小孩3",'笨小孩4'}
myset4.remove('笨小孩2')
print(myset4)

返回:

注意:如果要删除的项目不存在,remove()将引发错误。

4.2)iscard() 方法

使用以下discard() 方法删除“川川菜鸟” :

myset4 = {"笨小孩1", "笨小孩2", "笨小孩3",'笨小孩4'}
myset4.discard('笨小孩2')
print(myset4)
myset5 = {"笨小孩1", "笨小孩2", "笨小孩3",'笨小孩4'}
myset5.discard('笨小孩')
print(myset5)

返回:

注意:如果要删除的项目不存在,discard()则 不会引发错误。

4.3)pop() 方法

使用以下pop() 方法删除最后一项:

myset4 = {"笨小孩1", "笨小孩2", "笨小孩3",'笨小孩4'}
myset4.pop()
print(myset4)

返回:

注意:集合是无序的,因此在使用该pop()方法时,您不知道哪个项目被删除。

4.4)clear() 方法

clear() 方法清空集合:

myset4 = {"笨小孩1", "笨小孩2", "笨小孩3",'笨小孩4'}
myset4.clear()
print(myset4)

打印为空。

4.5)del关键字

该del关键字将完全删除该集合:

myset4 = {"川川一号", "川川二号", "川川三号",'川川菜鸟'}
del myset4
print(myset4)

集合已经不存在了,因此我们不打印,还会报错

五、循环集合

for循环遍历即可

myset4 = {"笨小孩1", "笨小孩2", "笨小孩3",'笨小孩4'}
for i in myset4:print(i)

返回:

六、集合连接

6.1)普通连接

您可以使用union()返回包含两个集合中所有项的新集合的方法,或将一个集合中的所有项update()插入另一个集合的方法。
方法一:使用union()方法返回一个包含两个集合中所有项目的新集合

set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}set3 = set1.union(set2)
print(set3)

 输出:

方法二:update()方法将 set2 中的项插入到 set1 中

set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}set1.update(set2)
print(set1)

注意:无论union()和update() 将排除任何重复的项目。

6.2)仅保留重复项

intersection_update()方法将只保留两个集合中都存在的项目。
保留myset4和myset5重复项:

myset4 = {"笨小孩1", "笨小孩2", "笨小孩3",'笨小孩4'}
myset5 = {"笨小孩7", "笨小孩6", "笨小孩5",'笨小孩4'}
myset4.intersection_update(myset5)
print(myset4)

返回:

​​​​​​​

或者用intersection()方法将返回一个新集合,该集合仅包含两个集合中都存在的项目。

myset4 = {"笨小孩1", "笨小孩2", "笨小孩3",'笨小孩4'}
myset5 = {"笨小孩7", "笨小孩6", "笨小孩5",'笨小孩4'}
z=myset4.intersection(myset5)
print(z)

返回:

6.3)保留所有,但不保留重复项

symmetric_difference_update()方法将只保留两个集合中都不存在的元素。

myset4 = {"笨小孩1", "笨小孩2", "笨小孩3",'笨小孩4'}
myset5 = {"笨小孩7", "笨小孩6", "笨小孩5",'笨小孩8'}
z=myset4.symmetric_difference_update(myset5)
print(z)

返回:

symmetric_difference()方法将返回一个新集合,该集合仅包含两个集合中都不存在的元素。

myset4 = {"笨小孩1", "笨小孩2", "笨小孩3",'笨小孩4'}
myset5 = {"笨小孩7", "笨小孩6", "笨小孩5",'笨小孩4'}
z=myset4.symmetric_difference(myset5)
print(z)

返回:


七、练习

1-检查fruits集中是否存在“appl”。

fruits = {"apple", "banana", "cherry"}
if "apple"   fruits:print("Yes, apple is a fruit!")

2-使用 add 方法将“orange”添加到fruits集中。

fruits = {"apple", "banana", "cherry"}

3-使用正确的方法将多个项目(more_fruits)添加到fruits 集中。

fruits = {"apple", "banana", "cherry"}
more_fruits = ["orange", "mango", "grapes"]
fruits.update(more_fruits)#答案

4-使用 remove 方法从fruits 集中删除“banana。

fruits = {"apple", "banana", "cherry"}

5-使用discard方法从fruits 集中删除“香蕉”。

fruits = {"apple", "banana", "cherry"}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/565086.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

山东大学 2020级数据库系统 实验六

What’s more 山东大学 2020级数据库系统 实验一 山东大学 2020级数据库系统 实验二 山东大学 2020级数据库系统 实验三 山东大学 2020级数据库系统 实验四 山东大学 2020级数据库系统 实验五 山东大学 2020级数据库系统 实验六 山东大学 2020级数据库系统 实验七 山东大学 20…

C语言数组元素的查询

数组的查询 在日常的开发过程中,我们经常需要查询数组中的元素,这就需要我们使用数组元素查询的方法来进行查询。 对无序数组的查询 无序数组,就是数组元素的排列没有规律。无序数组元素查询的思路也很简单,就是用循环遍历数组…

山东大学 2020级数据库系统 实验七

What’s more 山东大学 2020级数据库系统 实验一 山东大学 2020级数据库系统 实验二 山东大学 2020级数据库系统 实验三 山东大学 2020级数据库系统 实验四 山东大学 2020级数据库系统 实验五 山东大学 2020级数据库系统 实验六 山东大学 2020级数据库系统 实验七 山东大学 20…

python基础入门(9)之字典

目录 Python字典 一、字典理解 1.1)创建字典与访问 1.2)字典长度 1.3)数据类型 二、访问字典 2.1)访问键名 2.2)访问健值 三、更改字典各种方法 四、添加字典项各种方法 五、删除字典的各种方法 ​六、遍历…

山东大学 2020级数据库系统 实验八、九

What’s more 山东大学 2020级数据库系统 实验一 山东大学 2020级数据库系统 实验二 山东大学 2020级数据库系统 实验三 山东大学 2020级数据库系统 实验四 山东大学 2020级数据库系统 实验五 山东大学 2020级数据库系统 实验六 山东大学 2020级数据库系统 实验七 山东大学 20…

python基础入门(10)之循环语句

目录 一、If … Else语句 一.if语句 二.缩进 三.elif语句 四.else语句 4.1基本else 4.2)and语句 4.3)or 语句 4.4)嵌套if语句 4.4)pass语句 二、while循环语句 一.基本理解 二.中断声明 三.continue 声明 四.else …

python基础(11)之函数

目录 函数 一、创建函数与调用 二、参数 三、参数数量 四、任意参数,*args 五、关键字参数 七、任意关键字参数,**kwargs 八、默认参数值 九、将列表作为参数传递 十、返回值 十一、pass语句 函数 一、创建函数与调用 在 Python 中&#xf…

排序算法的实现及时间复杂度分析——计数排序、选择排序、冒泡排序、插入排序

文章目录排序算法计数排序选择排序冒泡排序插入排序排序算法 排序算法是解决问题中常见且非常重要的一环,针对相应的问题选择相应的排序算法,能够提高问题解决速度,节省时间!!! 常见的排序算法有&#xf…

python基础(12)之匿名函数lambda

lambda lambda 函数是一个小的匿名函数。一个 lambda 函数可以接受任意数量的参数,但只能有一个表达式。 语法: lambda arguments : expression 执行表达式并返回结果: 示例将 10 添加到 argument a,并返回结果: …

C语言快速排序

快速排序是对冒泡法排序的一种改进。 快速排序算法 的基本思想是:将所要进行排序的数分为左右两个部分,其中一部分的所有数据都比另外一 部分的数据小,然后将所分得的两部分数据进行同样的划分,重复执行以上的划分操作&#xff0…

机器学习入门(1)之基本概念简介

目录 一、机器学习概述 1.1 什么是机器学习? 1.2 为什么需要机器学习? 1.3 机器学习应用场景 1.4 机器学习的一般流程 1.5 典型的机器学习过程​ 二、机器学习的基本术语 三.假设空间与版本空间 四、归纳偏好 1.哪种更好 2..假设的选择原则 …

山东大学 2020级计算机系统原理——拆解二进制炸弹

写在前面 第一次拿到这个实验还是有点慌!之前没见过,不过还是慢慢做过来了。 这是个需要耐心的过程,请一定静下心来哦! 环境及配置 环境:Ubuntu 20.04 GDB 调试工具 可参考配置:GDB调试工具配置&#…

机器学习入门(2)之模型评估与选择

目录 一、误差与拟合 1. 泛化误差与经验误差 2. 损失函数与训练误差 3. 过拟合与欠拟合 4. 过拟合的另一种现象:数据泄露 二、评估方法 1. 留出法 2. 交叉验证法(留一法) 3. 自助法 4. 调参与最终模型 三、性能度量 1. 混淆矩阵 …

pytorch MNIST 手写数字识别 + 使用自己的测试集 + 数据增强后再训练

文章目录1. MNIST 手写数字识别2. 聚焦数据集扩充后的模型训练3. pytorch 手写数字识别基本实现3.1完整代码及 MNIST 测试集测试结果3.1.1代码3.1.2 MNIST 测试集测试结果3.2 使用自己的图片进行测试3.2.1 测试图片预处理代码3.2.2 测试图片结果4. 数据增强4.1 手动读取 MNIST …

python基础(13)之数组

目录 数组 一、访问数组的元素 二、数组的长度 三、修改数组 四、数组的其它操作 数组 Python 没有对数组的内置支持,但可以使用Python 列表代替。 例如: ben ["笨小孩1", "笨小孩2", "笨小孩3"]一、访问数组的元…

C语言归并排序(合并排序)

归并排序也称合并排序,其算法思想是将待排序序列分为两部分,依次对分得的两个部分再次使用归并排序,之后再对其进行合并。仅从算法思想上了解归并排序会觉得很抽象,接下来就以对序列A[0], A[l]…, A[n-1]进行升序排列来进行解说&a…

python基础(14)之 类和对象

目录 Python类和对象 一、创建类 二、创建对象 三、init() 函数 四、对象方法 五、自参数 六、对象及其属性更改 七、pass语句 Python类和对象 Python 类/对象。Python 是一种面向对象的编程语言。Python 中的几乎所有东西都是一个对象,有它的属性和方法。…

C语言顺序查找

顺序査找是一种简单的査找算法,其实现方法是从序列的起始元素开始,逐个将序列中的元素与所要查找的元素进行比较,如果序列中有元素与所要查找的元素相等,那么査找成功,如果査找到序列的最后一个元素都不存在一个元素与…

python基础(15)之 继承

目录 Python继承 一、创建父类 二、创建子类 三、添加 init() 函数 四、使用 super() 函数 五、添加属性 六、添加方法 Python继承 继承允许我们定义一个从另一个类继承所有方法和属性的类。父类是被继承的类,也称为基类。子类是从另一个类继承的类&#xff…

C语言二分查找(折半查找)

二分査找也称折半査找,其优点是查找速度快,缺点是要求所要査找的数据必须是有序序列。该算法的基本思想是将所要査找的序列的中间位置的数据与所要査找的元素进行比较,如果相等,则表示査找成功,否则将以该位置为基准将…