Python列表与元组详解:内建函数与操作方法
144 浏览量
更新于2024-08-28
收藏 65KB PDF 举报
在Python编程中,列表和元组是两种重要的数据结构,它们都属于序列类型,但在功能和操作上有所不同。列表(list)是动态可变的,而元组(tuple)是不可变的。本文将详细介绍这两种数据类型以及与之相关的内置函数和方法。
首先,让我们了解如何创建和转换序列:
1. **list(iter)**:这是Python的内建函数,可以将任何可迭代对象(如字符串、列表、元组等)转换为列表。例如,`L1 = list([1, 'a', 2, 1.4])` 将创建一个包含不同类型的元素的列表。
2. **tuple(iter)**:同样,`tuple()` 函数将可迭代对象转换为元组,元组一旦创建就不可修改。例如,`T1 = tuple(L1)` 创建了一个元组版本的 `L1`。
3. **str(obj)**:用于将对象转换为字符串,便于输出和显示。`str(L1)` 将显示列表的所有元素,如 `['1', 'a', '2', '1.4']`。
4. **unicode(obj)**:Python 3中已弃用,但在此提一下,它曾用于将对象转换为Unicode字符串。在现代Python中,`str` 函数会自动处理Unicode编码。
5. **basestring()**:Python 2中的概念,提供给`str` 和 `unicode` 函数的共同基类,但在Python 3中不再适用。
6. **enumerate(iter)**:这个函数返回一个枚举对象,通过索引和对应的元素组成元组,如 `for i, item in enumerate(L1):` 可以同时遍历列表的索引和值。
接着,我们来看看一些常用的序列操作方法:
- **len(seq)**:返回序列的长度,如 `len(L1)` 返回 `4`。
- **max(iter, key=None)** 和 **min(iter, key=None)**:计算最大值和最小值,可以指定一个 `key` 函数进行自定义比较。
- **reversed(seq)**:返回一个反向迭代器,可以用来逐个访问元素的逆序,如 `for item in reversed(L1):`。
- **sorted(iter, cmp=None, key=None, reverse=False)**:对序列进行排序,可选择不同的排序规则和方向。
- **sum(seq, init=0)**:计算序列元素的总和,如 `sum(L1)` 或 `sum(L1, 10)`。
最后,是列表的一些特殊性质和操作:
- 列表是动态的,允许添加、删除和修改元素。例如,`L1.append('d')` 向末尾添加元素。
- 列表可以嵌套,允许存储复杂的数据结构。`L2 = [L1, [4, 'e']]` 是一个列表,其中包含两个子列表。
- **zip([it0, it1...])**:将多个序列打包成一个元组列表,如 `Zipped = zip(['a', 'b', 'c'], range(3))`。
列表和元组是Python中处理数据的基石,理解它们的不同特性和内置方法对于高效编写Python代码至关重要。学会灵活运用这些工具,能够让你在处理数据时游刃有余。
2021-09-25 上传
2023-06-12 上传
2018-10-15 上传
2023-05-13 上传
2023-03-31 上传
2023-05-31 上传
2023-04-25 上传
2023-10-14 上传
2024-03-08 上传
weixin_38665490
- 粉丝: 5
- 资源: 985
最新资源
- 新代数控API接口实现CNC数据采集技术解析
- Java版Window任务管理器的设计与实现
- 响应式网页模板及前端源码合集:HTML、CSS、JS与H5
- 可爱贪吃蛇动画特效的Canvas实现教程
- 微信小程序婚礼邀请函教程
- SOCR UCLA WebGis修改:整合世界银行数据
- BUPT计网课程设计:实现具有中继转发功能的DNS服务器
- C# Winform记事本工具开发教程与功能介绍
- 移动端自适应H5网页模板与前端源码包
- Logadm日志管理工具:创建与删除日志条目的详细指南
- 双日记微信小程序开源项目-百度地图集成
- ThreeJS天空盒素材集锦 35+ 优质效果
- 百度地图Java源码深度解析:GoogleDapper中文翻译与应用
- Linux系统调查工具:BashScripts脚本集合
- Kubernetes v1.20 完整二进制安装指南与脚本
- 百度地图开发java源码-KSYMediaPlayerKit_Android库更新与使用说明