Python 列表完全指南:创建、访问、操作与内置方法详解
序列基础
Python 最基本的数据结构是序列。序列每个元素分配编号——位置或索引。第一个索引为 0,第二个为 1,以此类推。
Python 有六种内置序列类型,最常用的是列表和元组。
所有序列类型通用操作:索引、切片、加、乘、成员检查。此外 Python 内置函数可求序列长度、最大/最小元素。
Python 列表
列表是 Python 最通用的数据类型,写为方括号内逗号分隔的值(项)。列表重要特性:项类型可不同。
创建列表只需将不同逗号分隔值放入方括号。例如:
list1 = ['physics', 'chemistry', 1997, 2000] list2 = [1, 2, 3, 4, 5] list3 = ["a", "b", "c", "d"]
类似字符串索引,列表索引从 0 开始,支持切片、连接等操作。
访问列表值
使用方括号切片及索引获取指定索引处的值。例如:
在线演示#!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000] list2 = [1, 2, 3, 4, 5, 6, 7] print "list1[0]: ", list1[0] print "list2[1:5]: ", list2[1:5]
执行结果:
list1[0]: physics list2[1:5]: [2, 3, 4, 5]
更新列表
可通过赋值运算符左侧切片更新单个或多个元素,用 append() 方法添加元素。例如:
在线演示#!/usr/bin/python list = ['physics', 'chemistry', 1997, 2000] print "Value available at index 2 : " print list[2] list[2] = 2001 print "New value available at index 2 : " print list[2]
注意:append() 方法在后续章节讨论。
执行结果:
Value available at index 2 : 1997 New value available at index 2 : 2001
删除列表元素
删除列表元素可用 del 语句(知确切元素)或 remove() 方法(不知确切元素)。例如:
在线演示#!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000] print list1 del list1[2] print "After deleting value at index 2 : " print list1
执行结果:
['physics', 'chemistry', 1997, 2000] After deleting value at index 2 : ['physics', 'chemistry', 2000]
注意:remove() 方法在后续章节讨论。
基本列表操作
列表对 + 和 * 运算符响应类似字符串,表示连接和重复,但结果为新列表而非字符串。
列表响应字符串章节使用的所有通用序列操作。
| Python 表达式 | 结果 | 说明 |
|---|---|---|
| len([1, 2, 3]) | 3 | 长度 |
| [1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | 连接 |
| ['Hi!'] * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] | 重复 |
| 3 in [1, 2, 3] | True | 成员检查 |
| for x in [1, 2, 3]: print x, | 1 2 3 | 迭代 |
索引、切片与矩阵
列表作为序列,索引和切片同字符串方式工作。
假设输入:
L = ['spam', 'Spam', 'SPAM!']
| Python 表达式 | 结果 | 说明 |
|---|---|---|
| L[2] | SPAM! | 索引从零开始 |
| L[-2] | Spam | 负索引:从右侧计数 |
| L[1:] | ['Spam', 'SPAM!'] | 切片获取区段 |
内置列表函数与方法
列表函数
| 序号 | 函数与说明 |
|---|---|
| 1 | cmp(list1, list2) - 比较两列表元素 |
| 2 | len(list) - 返回列表总长度 |
| 3 | max(list) - 返回列表中最大值项 |
| 4 | min(list) - 返回列表中最小值项 |
| 5 | list(seq) - 将元组转为列表 |
列表方法
| 序号 | 方法与说明 |
|---|---|
| 1 | list.append(obj) - 在列表末尾追加对象 obj |
| 2 | list.count(obj) - 返回 obj 在列表中出现次数 |
| 3 | list.extend(seq) - 将序列 seq 内容追加到列表 |
| 4 | list.index(obj) - 返回 obj 在列表中首次出现的最低索引 |
| 5 | list.insert(index, obj) - 在索引 index 处插入对象 obj |
| 6 | list.pop(obj=list[-1]) - 移除并返回最后对象或指定 obj |
| 7 | list.remove(obj) - 从列表移除对象 obj |
| 8 | list.reverse() - 就地反转列表对象 |
| 9 | list.sort([func]) - 对列表对象排序,给定比较函数 func 时使用 |
Python
- 精通Python数据类型:实战指南
- 精通Python运算符:全面指南
- 精通Python Pass语句:实战指南
- 精通Python函数参数:位置、关键字与默认参数
- 精通 Python range() 函数:从基础到高级用法
- Python 列表完全指南:增删改查、排序、推导式实战
- Python 计算平均值:从循环到 NumPy 的四种实战方法
- Python list.count() 专家指南:语法、示例与性能解析
- Python 列表去重完全指南:七种方法与最佳实践
- Python 列表删除元素全攻略:remove、pop、clear 与 del 详解
- Python list.index() 详解:查找元素位置的实用指南与示例
- Python 列表完全指南:创建、访问、操作与内置方法详解