Python列表与元组详解:内建函数与操作方法
118 浏览量
更新于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 上传
点击了解资源详情
2020-09-22 上传
点击了解资源详情
2020-09-20 上传
2018-10-15 上传
2020-09-19 上传
2020-12-21 上传
weixin_38665490
- 粉丝: 5
- 资源: 985
最新资源
- MATLAB实现小波阈值去噪:Visushrink硬软算法对比
- 易语言实现画板图像缩放功能教程
- 大模型推荐系统: 优化算法与模型压缩技术
- Stancy: 静态文件驱动的简单RESTful API与前端框架集成
- 掌握Java全文搜索:深入Apache Lucene开源系统
- 19计应19田超的Python7-1试题整理
- 易语言实现多线程网络时间同步源码解析
- 人工智能大模型学习与实践指南
- 掌握Markdown:从基础到高级技巧解析
- JS-PizzaStore: JS应用程序模拟披萨递送服务
- CAMV开源XML编辑器:编辑、验证、设计及架构工具集
- 医学免疫学情景化自动生成考题系统
- 易语言实现多语言界面编程教程
- MATLAB实现16种回归算法在数据挖掘中的应用
- ***内容构建指南:深入HTML与LaTeX
- Python实现维基百科“历史上的今天”数据抓取教程