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

【知识点】第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.xdnf.cn/news/12143.html

相关文章:

  • 【DVWA系列】——Brute Force(暴力破解)——low
  • 面试题:N叉数的最大深度
  • 软件功能鉴定需要注意哪些内容?
  • NLP学习路线图(二十四):门控循环单元(GRU)
  • 深度学习之路——CNN卷积神经网络详解
  • Python 运算符详解
  • 【Markdown 中定义函数和变量】
  • 创新驱动产业升级,国际数字影像产业园绘就文创发展新蓝图
  • Python多线程编程:从GIL锁到实战优化
  • 【openssl】升级为3.3.1,避免安全漏洞
  • 大模型高效提示词Prompt编写指南
  • Fullstack 面试复习笔记:项目梳理总结
  • 施耐德特价型号伺服电机VIA0703D31A1022、常见故障
  • 硬件学习笔记--66 MCU的DMA简介
  • unix/linux,sudo,一个强大且灵活的工具,允许一个被授权的用户以另一个用户(通常是root,即超级用户)的身份来执行命令
  • VSCode 工作区配置文件通用模板创建脚本
  • 循序渐进kubernetes之Lens
  • 华为云服务器 Java 项目部署 “版本穿越” 危机破解指南
  • STM32实战:智能环境监测站设计方案
  • spel 多层list嵌套表达式踩坑记
  • 数据结构与算法学习笔记(Acwing 提高课)----动态规划·树形DP
  • 互联网大厂Java求职面试:云原生架构下的微服务网关与可观测性设计
  • SQL进阶之旅 Day 15:动态SQL与条件查询构建
  • 使用nginx代理mqtt服务
  • 算法分析与设计-动态规划、贪心算法
  • 对抗性提示:大型语言模型的安全性测试
  • 多模态大语言模型arxiv论文略读(107)
  • HTTP(超文本传输协议)详解
  • HarmonyOS Next 弹窗系列教程(4)
  • 【OpenGL学习】(四)统一着色和插值着色