Python列表与元组详解:内建函数与操作方法

0 下载量 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代码至关重要。学会灵活运用这些工具,能够让你在处理数据时游刃有余。