当前位置: 首页 > news >正文

【知识点】第6章:组合数据类型

文章目录

  • 知识点整理
    • 组合数据类型概述
    • 序列类型
      • 元组类型
      • 列表类型
    • 集合类型
    • 映射类型
    • 在这里插入图片描述
  • 练习题
    • 选择题
    • 判断题​​

知识点整理

组合数据类型概述

数字类型(整数类型、浮点数类型和复数类型)仅能表示一个数据,这种表示单一数据的类型称为基本数据类型。然而,实际计算中却存在大量同时处理多个数据的情况,这需要将多个数据有效组织起来并统一表示,这种能够表示多个数据的类型称为组合数据类型。

组合数据类型能够将多个同类型或不同类型的数据组织起来,通过单一的表示使数据操作更有序、更容易。根据数据之间的关系,组合数据类型可以分为3类:序列类型集合类型映射类型

在这里插入图片描述

  • 序列类型是一个元素向量,元素之间存在先后关系,通过序号访问,元素之间不排他。
  • 集合类型是一个元素集合,元素之间无序,相同元素在集合中唯一存在。
  • 映射类型是“键-值”数据项的组合,每个元素是一个键值对,表示为(key,value)。

序列类型

序列类型的通用操作符和函数:

在这里插入图片描述

元组类型

元组是包含0个或多个数据项的不可变序列类型。元组(tuple)是序列类型中比较特殊的类型,因为它一旦创建就不能被修改。

元组使用圆括号(())表示。

在这里插入图片描述

元组除了用于表达固定数据项外,还常用于如下3种情况:函数多返回值、多变量同步赋值、循环遍历

在这里插入图片描述

列表类型

列表是包含0个或多个对象引用的有序序列,没有长度限制,可自由增删元素,使用灵活。

列表用中括号([])表示,也可以通过 list() 函数将元组或字符串转换成列表。直接使用list()函数会返回一个空列表。

在这里插入图片描述
列表类型的操作符:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
与元组一样,列表可以通过 for-in 语句对其元素进行遍历,基本语法结构如下:

在这里插入图片描述

集合类型

集合类型与数学中集合的概念一致,即包含0个或多个数据项的无序组合。集合中的元素不可重复,元素类型只能是固定数据类型,例如整数、浮点数、字符串、元组等,列表、字典和集合类型本身都是可变数据类型,不能作为集合的元素出现。

由于集合是无序组合,它没有索引和位置的概念,不能分片,集合中元素可以动态增加或删除。集合用大括号({})表示,可以用赋值语句生成一个集合。

在这里插入图片描述

set(x) 函数可以用生成集合,输入的参数可以是任何组合数据类型,返回结果是一个无重复且排序任意的集合。

在这里插入图片描述
集合类型主要用于3个场景:成员关系测试、元素去重和删除数据项

在这里插入图片描述

映射类型

字典是包含0个或多个键值对的集合,没有长度限制,可以根据键索引值的内容。

通过任意键信息查找一组数据中值信息的过程叫映射,Python 语言中通过字典实现映射。Python 语言中的字典可以通过大括号({})建立,建立模式如下:

需要注意的是,尽管集合类型也用大括号表示,直接使用大括号({})生成一个空的字典,而不是集合。生成空集合需要使用函数 set()。

在这里插入图片描述
其中,键和值通过冒号连接,不同键值对通过逗号隔开。从Python设计角度考虑,由于大括号{}可以表示集合,因此字典类型也具有和集合类似的性质,即键值对之间没有顺序且不能重复。
在这里插入图片描述
字典最主要的用法是查找与特定键相对应的值,这通过索引符号来实现。例如:

在这里插入图片描述
字典中对某个键值的修改可以通过中括号的访问和赋值实现。

在这里插入图片描述
直接使用大括号({})可以创建一个空的字典,并通过中括号([])向其增加元素,例如:

在这里插入图片描述
字典类型的操作:

在这里插入图片描述

练习题

选择题

1.​​以下选项中不属于组合数据类型的是​​
A. 变体类型
B. 字典类型
C. 映射类型
D. 序列类型
​​答案:A​​

2.关于大括号{}的描述正确的是​​
A. 直接使用{}生成一个列表
B. 直接使用{}生成一个元组
C. 直接使用{}生成一个集合
D. 直接使用{}生成一个字典
​​答案:D​​(默认生成空字典)
​​
3.字典d = {‘a’: 1, ‘b’: 2},print(d[‘b’])的输出是​​
A. 2
B. {‘b’:2}
C. 1
D. 3
​​答案:A​

4.​​以下哪种数据类型支持索引运算但不支持修改?( )​​
A. 列表
B. 元组
C. 集合
D. 字典
​​答案:B​​(元组不可变但可索引)
​​
5.代码d = {‘a’: 1, ‘b’: 2}; print(d.keys())的输出是( )​​
A. [‘a’, ‘b’]
B. dict_keys([‘a’, ‘b’])
C. [1, 2]
D. 报错
​​答案:B​​(keys()返回视图对象)

判断题​​

  1. ​​元组中元素必须是相同类型。​​(×)​​(元组/列表元素可不同类型)
  2. 字典的键可以是列表类型。​​(×)​​(键必须为不可变类型,如字符串、元组)
  3. 空集合可以用{}创建。​​(×)​​({}创建空字典,空集合需用set())
  4. ​列表和元组都是不可变数据类型。​​(×)​(列表可变,元组不可变)
  5. 字典的键必须是唯一的,但值可以重复。​​(√)​​(键唯一性保证映射关系,值无限制)
  6. 集合{1, 2, 3}和{3, 2, 1}是相等的。​​(√)​​(集合无序,元素相同即相等)
  7. 字典的键可以是任意不可变类型,如元组或字符串。​​(√)​​(键必须为不可变类型)
  8. 字符串切片操作"Python"[1:4]的结果是"yth"。​​(√)​​(切片包含起始索引,不包含结束索引)
  9. 元组可以通过list()函数转换为列表后修改元素。​​(√)​​(转换后的列表可变)
http://www.lqws.cn/news/134983.html

相关文章:

  • idea相关功能
  • sylar--线程模块
  • Java面试题及答案整理( 2025年最新版,持续更新...)
  • 从OCR到Document Parsing,AI时代的非结构化数据处理发生了什么改变?
  • Edge Databases:赋能分布式计算环境
  • Elasticsearch的写入性能优化
  • 旅游微信小程序制作指南
  • 【2025】通过idea把项目到私有仓库(3)
  • OD 算法题 B卷【DNA序列】
  • SQL 中 IN 和 EXISTS 的区别
  • 李飞飞World Labs开源革命性Web端3D渲染器Forge!3D高斯溅射技术首次实现全平台流畅运行
  • 【DeepSeek】【Dify】:用 Dify 对话流+标题关键词注入,让 RAG 准确率飞跃
  • 计算机I/O系统:数据交互的核心桥梁
  • Manus AI 现在可以生成短片了
  • 数据结构期末PTA选择汇总
  • RTS 29.02.01:21 是萨尔瓦多针对灯具产品能效要求的技术法规
  • 第6篇:中间件 SQL 重写与语义分析引擎实现原理
  • 小白的进阶之路系列之十四----人工智能从初步到精通pytorch综合运用的讲解第七部分
  • 《动手深度学习》8.2文本预处理—代码分析
  • linux 故障处置通用流程-36计+1计
  • [C]extern声明变量报错:undefined reference终极解决方案
  • 图论水题2
  • 基于 qiankun + vite + vue3 构建微前端应用实践
  • 高防CDN有用吗?它的防护效果怎么样?
  • ComfyUI一键画风转换:爆火吉普力画风一键转绘
  • 区块链+AI融合实战:智能合约如何结合机器学习优化DeFi风控?
  • JavaWeb:前后端分离开发-部门管理
  • 如何搭建Z-Blog PHP版本:详细指南
  • 关于项目多语言化任务的概述
  • 一文读懂RAG流程中用到的请求参数与返回字段