Python数据结构:列表、元组、字典与集合详解
需积分: 0 32 浏览量
更新于2024-08-03
收藏 51KB MD 举报
"Python学习笔记架构,涵盖了Python中的常用数据类型,包括列表(list)、元组(tuple)、字典(dict)和集合(set)的基础知识及常用API。"
在Python编程语言中,数据类型是非常基础且重要的概念,它们决定了如何存储和操作数据。本笔记主要讨论了四个核心的数据类型:列表、元组、字典和集合。
### 列表(list)与元组(tuple)
1. **列表** 是一种可变数据类型,允许添加、删除或修改元素。在上述代码中,`l=[1,2,'hello','world']` 创建了一个列表,并通过 `l[1]=30` 修改了列表中的元素。列表支持索引访问,如 `l[-1]` 返回最后一个元素,切片操作 `l[0:3]` 获取子列表,以及多维列表如 `[[1,2,3],[4,5]]`。
2. **元组** 是不可变数据类型,一旦创建就不能修改。`tup=('jason',1)` 创建了一个元组,尝试修改元组元素如 `tup[1]=30` 会导致错误。元组同样支持索引和切片操作,但不能进行增删改操作。元组可以嵌套,形成多维元组。
### 列表与元组的API
- **count(item)** 计算元素在列表或元组中出现的次数。
- **index(item)** 返回元素在列表或元组中首次出现的位置。
- **reverse()** 列表原地反转,元组没有此功能。
- **sort()** 对列表进行原地排序,元组没有此功能。
- **reversed()** 和 **sorted()** 分别返回列表或元组的倒转副本和排序副本。
### 列表与元组的转换
可以通过 `list()` 或 `tuple()` 函数将列表转换为元组,反之亦然。
### 字典(dict)与集合(set)
1. **字典** 是一种键值对的数据结构,`{'key1': 'value1', 'key2': 'value2'}` 是字典的基本形式。字典的创建可通过花括号 `{}` 或 `dict()` 函数实现。字典的API包括但不限于:`keys()`、`values()`、`items()` 用于获取键、值或键值对的视图,`get(key[, default])` 安全获取键对应的值,以及 `update(other_dict)` 合并字典。
2. **集合** 是一组无序且不重复的元素,`{1, 2, 3}` 创建了一个集合。集合的创建可通过花括号 `{}` 或 `set()` 函数完成。集合的API包括 `add(element)` 添加元素,`remove(element)` 删除元素,以及 `union()`、`intersection()`、`difference()` 和 `symmetric_difference()` 操作用于合并、求交集、差集和对称差集。
### 字典与集合的创建
字典和集合的创建方式有多种,如直接用花括号 `{}` 或通过 `dict()` 和 `set()` 函数。字典和集合支持各种数学运算,例如并集、交集和差集,这使得它们在处理数据去重、查找、过滤等场景下非常有用。
了解并熟练掌握这些数据类型及其操作是Python编程的基础,能够帮助你更有效地组织和处理数据。
2024-02-21 上传
188 浏览量
CarSim、MATLAB、PreScan,提供车辆动力学、运动控制联合仿真软件安装激活服务,可远程 内容包括: MATLAB R2018b win64 MATLAB R2020a win64 Pre
515 浏览量
2025-01-11 上传
MATLAB代码:基于元模型优化的电厂主从博弈优化调度模型 关键词:元模型 电厂 主从博弈 优化调度 参考文档:《基于元模型优化算法的主从博弈多电厂动态定价和能量管理》复现元模型 仿真平台:MATLA
2025-01-11 上传
2025-01-11 上传
weixin_45033032
- 粉丝: 28
- 资源: 5
最新资源
- video_cut.rar
- avrgirl-arduino:一个NodeJS库,用于将编译的草图文件刷新到Arduino微控制器板
- 绿色极简风格通用商业计划书PPT模板
- 非常酷的3D立体图片相册展示代码
- Algorithm-Nonlinear-Optimization-Algorithms.zip
- maquina_turing:实施Turing uma的Turíque的instruções,使用Usaárioe gera fitas desaída的运动
- bclm:macOS命令行实用程序以限制最大电池电量
- 行业分类-设备装置-3D打印平台自动调平结构及3D打印机.zip
- springboothello
- Android-LogUtils.zip
- Android皮肤支持:Android皮肤支持是一种易于使用的动态皮肤框架,可用于Android,仅需一行代码即可对其进行集成。 Android换肤框架,极低的学习成本,极好的用户体验。 “一行”代码就可以实现换肤,你值得拥有!
- nosql
- 用jquery制作设置浏览器水平横行滚动条样式产品
- Python文字识别之tesseract-ocr安装包和中文语言包chi_sim.traineddata下载
- kashtin:小型私人图片寄存网站
- 团队与货币符号背景的商业融资PPT模板