Python入门教程+项目实战-13.2节-集合的操作方法

news2024/12/23 9:00:21

目录

13.2.1 集合的常用操作方法

13.2.2 集合的查找

13.2.3 集合的添加

13.2.4 集合的删除

13.2.4 集合运算

13.2.5 知识要点

13.2.6 系统学习python


13.2.1 集合的常用操作方法

集合类型是一种抽象数据类型,抽象数据类型定义了数据类型的操作方法,在本节的内容中,教同学们彻底掌握集合类型的常用操作方法。

字典的常用操作方法,主要有分为四类:集合的查找,集合的添加,集合的删除,集合的集合运算。不能对集合中的键进行修改,因为集合中的键必须是静态的数据类型

13.2.2 集合的查找

(1) 查找键是否存在

查找方法:

name in set
name not in set

name表示集合中的键,返回值为布尔类型,True表示键名存在,False表示键名不存在。not in 表示查找是否不存在。

代码实例:

# __desc__ = 查找集合中的键是否存在
 
stars = {"陈法蓉", "陈德蓉"}
 
star = "吴君如"
 
if star in stars:
    print("{} in stars".format(star))
 
if star not in stars:
    print("{} not in stars".format(star))

13.2.3 集合的添加

(1) set.add(key)

将键名key添加至集合中,无返回值。key必须是可哈希的数据类型,否则Python解释器会抛出类型错误的异常信息。

代码实例:

# __desc__ = 执行add方法来添加新的键
 
stars = {"陈法蓉", "陈德蓉"}
 
star = "吴君如"
 
if star not in stars:
    # 如果star 不在集合stars里面,就添加star
    stars.add(star)
 
if star in stars:
    print("{} in stars now".format(star))

集合中的元素必须是可哈希的数据类型,否则会报类型错误。

代码实例:

# __desc__ = 执行add方法来添加动态的数据类型
 
stars = {"陈法蓉", "陈德蓉"}
 
star = {"吴君如"}
 
if star not in stars:
  # 如果star 不在集合stars里面,就添加star
  stars.add(star)
 
# Python在解释执行stars.add(star)时抛出了类型错误的异常

(2) set.update(iterable)

参数iterable表示可迭代对象,执行update方法时,会将可迭代对象中的元素逐一添加到集合中。迄今为止学过的可迭代对象:字符串,列表,元组,字典,集合

代码实例:

# __desc__ = 执行update方法来添加可迭代对象中的元素
 
container = set()
 
# 字符串类型是可迭代对象
container.update("abc")
# container的输出为{"a","b","c"}
 
# 列表类型是可迭代对象
container.update([2])
# container的输出为{"a","b","c",2}
 
# 元组类型是可迭代对象
container.update((3.0, ))
# container的输出为{"a","b","c",2,3.0}
 
# 字典类型是可迭代对象
container.update({1: True, 0: False})
# container的输出为{"a","b","c",2,3.0,1,0}
 
 
# 集合类型是可迭代对象
container.update({"True", "False"})
# container的输出为{"a","b","c", 2, 3.0, 1, 0, "True", "False"}

13.2.4 集合的删除

(1) set.pop()

执行pop方法来随机删除集合中的元素,集合必须是一个非空集合,否则会抛出异常信息。返回值为被删除的元素。

代码实例:

# __desc__ = 执行pop方法来随机删除集合中的元素
 
stars = {"陈法蓉", "陈德蓉"}
star = stars.pop()
 
# star指向的值可能为"陈德蓉"

集合必须是一个非空集合,否则会抛出类型错误的异常信息,我们可以在交互模式中进行验证:

>>> set().pop()

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

KeyError: 'pop from an empty set'

(2) set.remove(key)

执行remove方法来删除集合中指定的键,键不存在时会抛出异常信息,无返回值。

代码实例:

# __desc__ = 执行remove方法来删除集合中指定的键
 
stars = {"陈法蓉", "陈德蓉"}
stars.remove("陈法蓉")
# stars的输出为{"陈德蓉"}
 
# 键必须存在与集合中,否则会抛出键名不存在的异常信息
stars.remove("吴君如")
# Python抛出了异常信息

(1) set.clear()

执行clear方法来清空集合中的元素。

代码实例:

# __desc__ = 执行clear方法来清空集合中的所有元素
 
stars = {"陈法蓉", "陈德蓉"}
stars.clear()
 
# stars的输出为set(),表示空的集合

13.2.4 集合运算

通过Python中的集合类型,可以实现数学上的交集,并集,差集运算。

(1) 交集运算

交集,指的是获得两个集合中共有的元素,在Python中使用'&'操作符来实现交集运算。

代码实例:

# __desc__ = 执行&操作符来实现交集运算
 
hongkong_stars = {"陈法蓉", "陈德蓉"}
all_stars = {"陈德蓉", "林子祥"}
 
# 计算集合的交集 
stars = hongkong_stars & all_stars
# stars的输出为  {"陈德蓉"}

(2) 并集运算

并集指的是将两个集合中的元素进行合并,在Python中使用'|'操作符来实现并集运算。

代码实例:

# __desc__ = 执行|操作符来实现并集运算
 
hongkong_stars = {"陈法蓉", "陈德蓉"}
all_stars = {"陈德蓉", "林子祥"}
 
# 计算集合的并集
stars = hongkong_stars | all_stars
# stars的输出为  {"陈法蓉", "陈德蓉", "林子祥"}

(3) 差集运算

差集指的是对两个集合作减法运算,假设有集合A与集合B,那么集合A与集合B的差集表示属于A但不属于B的元素的集合,直接用算数运算符'-'来实现差集运算。

代码实例:

# __desc__ = 执行-操作符来实现差集运算
 
hongkong_stars = {"陈法蓉", "陈德蓉"}
all_stars = {"陈德蓉", "林子祥"}
 
# 计算集合的差集,就是对集合做减法运算
stars = hongkong_stars - all_stars
# stars的输出为  {"陈法蓉"}

13.2.5 知识要点

(1) 集合的常用操作方法,主要分为四类:集合的查找,集合的添加,集合的删除,集合的集合运算。

(2) 不能对集合中的键进行修改,因为集合中的键必须是静态的数据类型

(3) 迄今为止学过的可迭代对象:字符串,列表,元组,字典,集合

 

13.2.6 系统学习python

 薯条老师简介:资深技术专家,技术作家,著有《Python零基础入门指南》,《Java零基础入门指南》等技术教程。薯条老师的博客:http://www.chipscoco.com, 系统学习后端,爬虫,数据分析,机器学习、量化投资。

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

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

相关文章

怎么把投票链接生成二维码投票链接怎么生成二维码

用户在使用微信投票的时候&#xff0c;需要功能齐全&#xff0c;又快捷方便的投票小程序。 而“活动星投票”这款软件使用非常的方便&#xff0c;用户可以随时使用手机微信小程序获得线上投票服务&#xff0c;很多用户都很喜欢“活动星投票”这款软件。 “活动星投票”小程序在…

ASEMI代理英飞凌IPA50R190CE,MOS管IPA50R190CE参数

编辑-Z IPA50R190CE参数描述&#xff1a; 型号&#xff1a;IPA50R190CE 持续漏极电流&#xff1a;24.8A 脉冲漏极电流&#xff1a;63A 栅极-源极电压&#xff1a;20V 功耗&#xff1a;32W 操作和储存温度&#xff1a;-40~150℃ 连续二极管正向电流&#xff1a;8.1A 漏…

5月VR大数据:Quest 2下跌超1%,其它变化不大

Hello大家好&#xff0c;每月一期的VR内容/硬件大数据统计又和大家见面了。 想了解VR软硬件行情么&#xff1f;关注这里就对了。我们会统计Steam平台的用户及内容等数据&#xff0c;每月初准时为你推送&#xff0c;不要错过喔&#xff01; 本数据报告包含&#xff1a;Steam VR硬…

excel相同内容单元格数值等于固定值怎么做?

如下表&#xff0c;让该表格所有“苹果”内容的单价都等于D3的20元&#xff0c;怎么批量操作&#xff1f; 可以使用Excel的条件格式功能来实现该需求&#xff0c;具体步骤如下&#xff1a; 1. 选中表格中所有的“苹果”单元格&#xff0c;可以使用鼠标拖动或者按住Ctrl键单击选…

javaScript蓝桥杯----大电影

目录 一、介绍二、准备三、目标四、代码五、完成 一、介绍 一千个人眼里就有一千个哈姆雷特&#xff0c;小蓝最近痴迷于电影&#xff0c;但无奈学习任务繁重&#xff0c;只好先将电影收藏起来&#xff0c;留着以后观看&#xff0c;但是电影网站的收藏功能居然失效了&#xff0…

Spring架构篇--2.7 远程通信基础--使用Netty

前言&#xff1a;Netty 作为Nio 模型的实现&#xff0c;相较于Selector &#xff0c;进一步将api进行封装&#xff0c;使用更加的简单&#xff1b;在平常的开发中会发现许多组件的底层通信都使用了Netty&#xff0c;所以就非常有必要对Netty 的使用以及其工作原理进行了解了。 …

改进YOLOv8 | 主干网络篇 | YOLOv8 更换骨干网络之 GhostNet | 从廉价操作中获取更多特征

论文地址:https://arxiv.org/abs/1911.11907 代码地址:https://github.com/huawei-noah/ghostnet 由于内存和计算资源有限,在嵌入式设备上部署卷积神经网络(CNN)很困难。特征图中的冗余是那些成功的神经网络的重要特征,但在神经架构设计中很少研究。本文提出了一种新的G…

JVM学习笔记二

1. JVM内存参数 要求 熟悉常见的 JVM 参数&#xff0c;尤其和大小相关的 堆内存&#xff0c;按大小设置 解释&#xff1a; -Xms 最小堆内存&#xff08;包括新生代和老年代&#xff09; -Xmx 最大堆内存&#xff08;包括新生代和老年代&#xff09; 通常建议将 -Xms 与 -…

【复杂网络建模】——基于微博数据的影响力最大化算法(PageRank)

&#x1f935;‍♂️ 个人主页&#xff1a;Lingxw_w的个人主页 ✍&#x1f3fb;作者简介&#xff1a;计算机科学与技术研究生在读 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4a…

pdf怎么转换成word?一分钟解决

PDF文件是一种广泛使用的电子文档格式&#xff0c;因为它们可以保留文档的完整性和格式。但是&#xff0c;有时候我们需要对PDF文件进行编辑和修改&#xff0c;这时候就需要将其转换成Word格式。在本篇文章中&#xff0c;我们将讨论PDF转换Word的方法及其优缺点。 有很多在线工…

易点易动打通财务系统,打破数据孤岛,实现固定资产的账实一致

固定资产管理涉及资产的采购、验收、账务处理、折旧管理等全流程,同时也牵涉到财务系统和资产系统两大信息孤岛。这两个系统之间数据不互通,导致资产的账实信息无法同步,无法真正实现资产管理的账实一致。 固定资产系统作为固定资产管理的业务系统,负责资产的采购申请、验收入…

IDEA2023.1配置Git

一、前言 在使用新设备整理git项目时&#xff0c;报了以下问题&#xff0c;在整理项目的同时&#xff0c;做下记录。 二、下载git 2.1.官网下载git 官网下载地址&#xff1a; git官网&#xff0c;如下图所示&#xff1a; 如果选方法二&#xff0c; 接下来会让选择系统&#…

Halcon得出三角形内切圆

Halcon得出三角形内切圆 news2023/5/27 7:14: 目录 一、得出三角形的三个角点二、用类似尺规作图法得出三角形圆心 1、以三角形三角点画出圆形轮廓2、求出三角形轮廓与圆形轮廓之间的交点3、获得角平分线&#xff0c;三边角平分线交点为圆心三、求出圆心到边最短距离即半径 …

接口自动化测试框架-Requests库简介及安装

接口测试工具的不足点&#xff1a; 测试数据不可控制 无法测试加密接口 扩展能力不足 Ps&#xff1a;对上述问题&#xff0c;Robot Framework都能满足&#xff0c;但是其脚本的可读性差是它最大弱点&#xff0c;如果需要为它开发系统关键字&#xff0c;还不如直接写Python程…

LiangGaRy-学习笔记-Day19

1、回顾知识 1.1、文件系统说明 xfs与ext4文件系统 CentOS7以上&#xff1a;默认的就是XFS文件系统 xfs 使用的就是restore、dump等工具 CentOS6默认的就是ext4文件系统 extundelete工具就是用于ext4系统 1.2、回顾Linux文件系统 Linux文件系统是由三个部分组成 inode文…

01 云原生生态系统解读

云计算的技术革命 互联网时代的历程 云计算到底是什么 云计算历程 云平台的优缺点 优势 稳定性&#xff1a;云平台大量资源&#xff0c;分布式集群部署&#xff0c;保障服务永不宕机&#xff0c;几个9弹性扩展&#xff1a;按需索取&#xff0c;一键秒级开通需要的资源安全性&…

500道网络安全/WEB安全面试题合集!附答案解析

前言 随着国家政策的扶持&#xff0c;网络安全行业也越来越为大众所熟知&#xff0c;想要进入到网络安全行业的人也越来越多。 为了拿到心仪的 Offer 之外&#xff0c;除了学好网络安全知识以外&#xff0c;还要应对好企业的面试。 作为一个安全老鸟&#xff0c;工作这么多年…

vue3+element-plus的后台管理系统模板 和 vue3+ant-design-vue的后台管理系统模板

项目介绍 规范&#xff1a;后台系统模板&#xff0c;按照企业级别的规范搭建的。 权限控制&#xff1a;通过后端返回的路由表&#xff08;这个路由表是由前端这边在系统配好的然后存储在后端的&#xff09;来动态渲染菜单和注册路由&#xff0c;同时也根据页面内的接口权限对页…

能用excel批量提取网页内特定数据吗?

这个需求其实是采集数据&#xff0c;用第三方软件比较合适&#xff0c;当然&#xff0c;用excel也可以批量提取网页内特定文字。请按照以下步骤操作&#xff1a; 1. 打开要提取的网页&#xff0c;并选中要提取的文字&#xff0c;例如一个表格里的数据。 2. 复制选中的文字。 …

你的 ChatGPT 使用姿势是错的!告诉你 4 个使用 ChatGPT 的小技巧

大部分人使用 ChatGPT 的方式都是错的&#xff0c;比如&#xff1a; 没有在提问时提供案例。忽略了可以通过设置 ChatGPT 的角色来控制它的行为。没有提供过多有效信息&#xff0c;而是让 ChatGPT 猜猜猜。 之所以会犯这些错误&#xff0c;是因为我们使用 ChatGPT 时还停留在…