Python程序设计基础:字典与集合(二)

chatgpt/2023/9/27 15:35:32

文章目录

  • 一、字典的整体操作
    • 1、字典的遍历
    • 2、字典的排序
    • 3、字典的合并
  • 二、创建与访问集合
    • 1、集合的创建
    • 2、集合的访问
  • 三、集合的基本操作
    • 1、集合的增、删、查
    • 2、集合的数学运算

一、字典的整体操作

字典的整体操作是指以字典为操作对象,对字典进行遍历、排序以及合并这三种操作。

1、字典的遍历

和序列的遍历相似,字典的遍历也是通过for循环来实现,根据遍历的内容可以划分为遍历所有的键、遍历所有的值以及遍历所有的条目。

遍历所有的键
字典中存在名为keys()的方法返回字典中所有的键,可以和for循环一起使用进行键的遍历。
在这里插入图片描述
若想同时查看键所对应的值,可结合字典的访问一起进行。
在这里插入图片描述

遍历所有的值
字典中存在名为values()的方法返回字典中所有的值,可以和for循环一起使用进行值的遍历。
在这里插入图片描述

遍历所有的条目
字典中存在名为items()的方法返回字典中所有的条目,可以和for循环一起使用进行条目的遍历。
在这里插入图片描述
上述遍历方式得到的每个条目都对应一个元组,也可以进一步使用索引的方式分别访问键和值。
在这里插入图片描述

2、字典的排序

字典的排序主要是指将字典中的条目按照期望的顺序进行显示,由于中文的排序涉及到编码较为麻烦,因此主要介绍英文字符的排序。字典中使用内置函数sorted()可以将键按照字母顺序进行排序,默认按照升序进行输出。
在这里插入图片描述
可以看到上述排序方法只会将键进行输出,且原字典不会发生任何改变,若要改变字典中的条目顺序,可以结合列表和元组的特性进行修改。

3、字典的合并

字典的合并是指将两个字典的条目合并到一起,实现的途径主要有以下三种:使用for循环、使用update()方法以及使用dict()函数。

使用for循环
这种方式通过for循环遍历字典,将其所有条目逐条加到另一个字典当中。
在这里插入图片描述
上述for循环遍历item2中的每个条目并将其逐条加到item1之中。

update()方法
update()方法用于将参数字典添加到调用方法的字典之中,其语法格式如下:

字典1.update(字典2

在这里插入图片描述

dict()函数
前面有介绍使用dict()函数可以将一组双元素序列转换成字典,因此在对字典进行合并时可以先将字典转换成列表,先对列表进行合并,然后使用diac()函数将合并后的列表转换成字典。
在这里插入图片描述
此外还可以直接使用dict()函数将两个字典进行合并,其语法格式如下:

字典1 = dict(字典2**字典3)

在这里插入图片描述

二、创建与访问集合

集合专门用来存放一组无序且互不相同的元素,同时元素必须是不可变类型,结合此特性,集合除了可以用于数学中的集合运算外,还可以用来进行关系测试和消除重复元素。

1、集合的创建

集合的创建和字典相似,直接在“{}”里面放置相关元素来表示。

{元素1,元素2......}

若括号中无任何内容,表示为一个空集合,但是空集合的创建不能直接用“集合={}”进行创建,该方式创建的是字典。
除了直接定义集合外,还可以使用set()函数创建集合,该函数专门用于将序列转换成集合,转换的过程中会去掉重复的元素。
在这里插入图片描述
set()函数大部分情况下被用于字符串或列表的去重。

2、集合的访问

由于集合的元素是无序的,因此访问时要么通过集合名进行整体输出,要么使用for循环实现元素的遍历。

三、集合的基本操作

1、集合的增、删、查

集合的操作相对较为简单,主要是进行元素的添加、删除以及查询是否存在。

元素添加

集合.add(i)

将参数i作为元素添加到集合当中,若i是序列,也将其作为一个元素整体加入。

集合.update(i)

将参数i作为元素添加到集合中,i是序列,且可以为可变数据,将其拆分后再加入。
在这里插入图片描述

元素删除

集合.remove(i)

将指定元素i从集合中删除,若不存在,则会报错。

集合.discard(i)

将指定元素i从集合中删除,若不存在,正常执行,无任何输出。

集合.pop()

从集合中随机删除一个元素并返回。

集合.clear()

清空集合中的所有元素。
在这里插入图片描述

查询是否存在

i in 集合

判断i是否在集合中,若存在则返回True,不存在则返回False。
在这里插入图片描述

2、集合的数学运算

集合的数学运算主要指求集合的交集、并集、差集以及对称差集。
A和B的交集与并集:
在这里插入图片描述
A和B的差集与对称差集:
在这里插入图片描述
交集的语法格式:

A|B
A.union(B)

并集的语法格式:

A&B
A.intersection(B)

差集的语法格式:

A-B
A.difference(B) 

对称差集的语法格式:

A^B
A.symmetric_difference(B) 

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

生产者-消费者模式

文章目录 一、生产者-消费者模式的应用场景1、Excutor任务执行框架:2、消息中间件active MQ:3、任务的处理时间比较长的情况下:二、生产者-消费者模式的优点1、优点:2、缺点:二、C++实现生产者-消费者模型1、依赖2、实现细节3、问题4、核心代码生产者-消费者模式是一个十分…

Simulink仿真模块 - Saturation Dynamic

Saturation Dynamic将输入信号限制在动态饱和上界和下界值之间 在仿真库中的位置为:Simulink / Discontinuities 模型为: 说明 Saturation Dynamic 模块产生输出信号,该信号是以来自输入端口 up 和 lo 的饱和值为界的输入信号的值。 输入输…

html学习3(表格table、列表list)

1、html表格由<table>标签来定义。 <thead>用来定义表格的标题部分&#xff0c;其内部用 <th > 元素定义列的标题&#xff0c;可以使其在表格中以粗体显示&#xff0c;与普通单元格区分开来。<tbody>用来定义表格的主体部分&#xff0c;其内部用<t…

Spring Boot 整合 MongoDB 实战

Spring Boot 整合 MongoDB 实战 1. 引言 MongoDB是一种NoSQL数据库&#xff0c;而Spring Boot是一个用于快速构建Java应用程序的开发框架。本文将介绍如何使用Spring Boot整合MongoDB&#xff0c;实现数据的持久化和操作。通过本文的学习&#xff0c;读者将了解到Spring Boot…

二十一章:PUZZLE-CAM:通过匹配局部和全局特征来改进定位

0.摘要 弱监督语义分割&#xff08;WSSS&#xff09;被引入来缩小从像素级监督到图像级监督的语义分割性能差距。大多数先进的方法是基于类激活图&#xff08;CAM&#xff09;来生成伪标签以训练分割网络。WSSS的主要局限性在于从使用图像分类器的CAM生成伪标签的过程主要集中在…

Matlab进阶绘图第24期—悬浮柱状图

悬浮柱状图是一种特殊的柱状图。 与常规柱状图相比&#xff0c;悬浮柱状图可以通过悬浮的矩形展示最小值到最大值的范围&#xff08;或其他范围表达&#xff09;&#xff0c;因此在多个领域得到应用。 本文使用自己制作的Floatingbar小工具进行悬浮柱状图的绘制&#xff0c;先…

小研究 - JVM GC 对 IMS HSS 延迟分析(二)

用户归属服务器&#xff08;IMS HSS&#xff09;是下一代通信网&#xff08;NGN&#xff09;核心网络 IP 多媒体子系统&#xff08;IMS&#xff09;中的主要用户数据库。IMS HSS 中存储用户的配置文件&#xff0c;可执行用户的身份验证和授权&#xff0c;并提供对呼叫控制服务器…

Linux Day03

一、基础命令(在Linux Day02基础上补充) 1.10 find find 搜索路径 -name 文件名 按文件名字搜索 find 搜索路径 -cmin -n 搜索过去n分钟内修改的文件 find 搜索路径 -ctime -n搜索过去n分钟内修改的文件 1&#xff09;按文件名字 2&#xff09;按时间 1.11 grep 在文件中过…
推荐文章