Python进阶:元组、字典与集合详解
184 浏览量
更新于2024-08-31
收藏 81KB PDF 举报
Python中的元组是一种有序的数据集合,它具有不可变性,这意味着一旦创建了元组,就不能对其中的元素进行添加、删除或修改操作。元组在编程中常常用于那些需要保持数据不变的情况,例如作为函数返回值,或者在多线程环境中作为共享数据。
1. **元组基本介绍**
- 元组的表示形式是`()`,可以为空或包含任意类型的元素。
- 元组是不可变序列,与列表不同,列表是可以修改的。
- 创建元组时,即使只有一个元素,也必须在其后加上逗号,以区分单个元素与括号表达式。
- 元组解包是将元组的元素赋值给多个变量,例如`a, b, c = (1, 2, 3)`。
2. **元组创建**
- 空元组可以通过`()`或`tuple()`函数创建。
- 非空元组可以由逗号分隔的元素组成,如`(1, 2, 'three')`,也可以通过`tuple()`函数传入可迭代对象创建,如`tuple([1, 2, 'three'])`。
3. **元组操作**
- 使用索引访问元素,如`tu[1]`返回元组中第二个元素。
- 切片操作可以创建新的元组,例如`tu[2:4]`会返回原元组的第三和第四个元素。
- `tuple.count(x)`返回元组中元素`x`出现的次数,`tuple.index(x)`返回`x`第一次出现的索引。
- 对于元组排序,可以使用`sorted(tu)`得到一个按升序排列的列表,但元组本身不支持`reverse()`或`sort()`方法,可以借助`reversed(tu)`生成一个反向迭代器,然后转换为元组。
4. **元组的不可变性**
- 试图修改元组元素会导致`TypeError`,如`tup[2] = 5`。
- 如果需要改变元组,必须创建一个新的元组,如`tup + (4,)`。
- 元组的不可变性仅保证一级子元素,嵌套元组中的子元素可以是可变的,如修改`tup[3][0]`可以改变子列表的元素。
5. **字典**
- 字典是另一种重要的Python数据结构,它是无序的键值对集合,以`{}`表示。
- 创建字典:`dict_obj = {'key1': 'value1', 'key2': 'value2'}`。
- 访问字典元素:`dict_obj['key1']`。
- 字典操作包括添加元素(`dict_obj['key3'] = 'value3'`)、删除元素(`del dict_obj['key1']`)以及遍历键、值或键值对。
6. **集合**
- 集合是一个无序且不重复的元素集合,用`{}`表示。
- 创建集合:`set_obj = {1, 2, 3}`。
- 集合操作包括并集(`set1 | set2`)、交集(`set1 & set2`)、差集(`set1 - set2`)和对称差集(`set1 ^ set2`)。
- 集合可以用于消除列表或其他序列中的重复元素,如`unique_list = list(set(list_obj))`。
7. **应用场景**
- 元组常用于存储不可变数据,如坐标、配置信息等。
- 字典适合存储关联关系,如用户信息、字典翻译等。
- 集合用于去重、集合运算,以及在算法中检查成员资格。
理解并熟练运用元组、字典和集合是Python编程中的基础,它们在实际开发中扮演着重要角色,尤其在数据处理、函数参数传递、存储配置等方面有着广泛的应用。
2021-08-14 上传
2017-12-17 上传
2022-01-05 上传
2020-12-21 上传
2021-09-30 上传
2017-10-25 上传
2019-03-08 上传
2018-03-16 上传
2024-05-11 上传
weixin_38627234
- 粉丝: 4
- 资源: 934
最新资源
- MATLAB实现小波阈值去噪:Visushrink硬软算法对比
- 易语言实现画板图像缩放功能教程
- 大模型推荐系统: 优化算法与模型压缩技术
- Stancy: 静态文件驱动的简单RESTful API与前端框架集成
- 掌握Java全文搜索:深入Apache Lucene开源系统
- 19计应19田超的Python7-1试题整理
- 易语言实现多线程网络时间同步源码解析
- 人工智能大模型学习与实践指南
- 掌握Markdown:从基础到高级技巧解析
- JS-PizzaStore: JS应用程序模拟披萨递送服务
- CAMV开源XML编辑器:编辑、验证、设计及架构工具集
- 医学免疫学情景化自动生成考题系统
- 易语言实现多语言界面编程教程
- MATLAB实现16种回归算法在数据挖掘中的应用
- ***内容构建指南:深入HTML与LaTeX
- Python实现维基百科“历史上的今天”数据抓取教程