Python 程序设计 - 12. 列表 (list)
1. 引言
在 Python 中,列表(list)是最常用的数据结构之一。它是一个有序的集合,可以存储多个元素,并且这些元素可以是不同类型的数据。列表非常灵活,支持多种操作,如添加、删除、排序、切片等。掌握列表的操作对于编写高效的 Python 程序非常重要。
2. 列表基本概念
在 Python 中,列表是由一对方括号([])包围的元素集合,元素之间用逗号分隔。列表中的元素可以是任意类型,包括数字、字符串、其他列表甚至是自定义对象。
定义列表:
# 创建一个空列表
empty_list = []
# 创建一个包含多个元素的列表
fruits = ["apple", "banana", "cherry"]
# 创建一个包含不同类型元素的列表
mixed_list = [1, "hello", 3.14, True]
3. 列表的常用操作
3.1 访问列表元素
可以通过索引来访问列表中的元素,索引从 0 开始。也可以使用负数索引来从列表的末尾开始访问元素。
fruits = ["apple", "banana", "cherry"]
# 访问第一个元素
print(fruits[0]) # 输出: apple
# 访问最后一个元素
print(fruits[-1]) # 输出: cherry
3.2 修改列表元素
列表是可变的(mutable),因此可以直接修改列表中的元素。
fruits = ["apple", "banana", "cherry"]
fruits[1] = "orange" # 修改第二个元素
print(fruits) # 输出: ['apple', 'orange', 'cherry']
3.3 列表的切片操作
与字符串一样,列表也支持切片操作,可以用来提取子列表。
fruits = ["apple", "banana", "cherry", "date", "elderberry"]
# 提取从第2个元素到第4个元素的子列表
sub_fruits = fruits[1:4]
print(sub_fruits) # 输出: ['banana', 'cherry', 'date']
3.4 列表的追加和插入
append():在列表的末尾添加一个元素。insert():在列表的指定位置插入一个元素。
fruits = ["apple", "banana"]
# 使用 append() 添加元素
fruits.append("cherry")
print(fruits) # 输出: ['apple', 'banana', 'cherry']
# 使用 insert() 在第一个位置插入元素
fruits.insert(0, "orange")
print(fruits) # 输出: ['orange', 'apple', 'banana', 'cherry']
3.5 删除列表元素
remove():删除列表中第一个匹配的元素。pop():删除并返回指定索引的元素。del:根据索引删除指定的元素。
fruits = ["apple", "banana", "cherry"]
# 使用 remove() 删除元素
fruits.remove("banana")
print(fruits) # 输出: ['apple', 'cherry']
# 使用 pop() 删除并返回最后一个元素
popped_item = fruits.pop()
print(popped_item) # 输出: cherry
print(fruits) # 输出: ['apple']
# 使用 del 删除指定索引的元素
del fruits[0]
print(fruits) # 输出: []
3.6 列表的连接和重复
+:连接两个列表。*:重复列表。
list1 = [1, 2, 3]
list2 = [4, 5, 6]
# 使用 + 操作符连接两个列表
combined = list1 + list2
print(combined) # 输出: [1, 2, 3, 4, 5, 6]
# 使用 * 操作符重复列表
repeated = list1 * 3
print(repeated) # 输出: [1, 2, 3, 1, 2, 3, 1, 2, 3]
3.7 列表的排序与反转
sort():对列表进行排序(默认是升序)。reverse():将列表反转。
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
# 使用 sort() 排序列表
numbers.sort()
print(numbers) # 输出: [1, 1, 2, 3, 4, 5, 6, 9]
# 使用 reverse() 反转列表
numbers.reverse()
print(numbers) # 输出: [9, 6, 5, 4, 3, 2, 1, 1]
3.8 列表的长度和检查元素
len():获取列表的长度。in:检查元素是否在列表中。
fruits = ["apple", "banana", "cherry"]
# 使用 len() 获取列表的长度
print(len(fruits)) # 输出: 3
# 使用 in 检查元素是否在列表中
print("banana" in fruits) # 输出: True
print("grape" in fruits) # 输出: False
4. 嵌套列表
列表中可以包含其他列表,这种结构被称为嵌套列表。可以通过多重索引访问嵌套列表中的元素。
nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# 访问第二个子列表的第三个元素
print(nested_list[1][2]) # 输出: 6
5. 列表常见方法
| 方法 | 描述 |
|---|---|
list.append(x) | 在列表的末尾添加元素 x |
list.insert(i, x) | 在索引 i 的位置插入元素 x |
list.remove(x) | 删除列表中第一个匹配的元素 x |
list.pop([i]) | 删除并返回指定索引 i 的元素(默认删除最后一个元素) |
list.sort() | 对列表进行排序(默认升序) |
list.reverse() | 将列表反转 |
list.index(x) | 返回元素 x 在列表中第一次出现的位置 |
list.count(x) | 返回元素 x 在列表中出现的次数 |
list.extend(iterable) | 将 iterable 中的所有元素添加到列表的末尾 |
list.clear() | 删除列表中的所有元素 |
6. 练习题
练习 1:列出所有水果并添加新的水果
fruits = ["apple", "banana", "cherry"]
fruits.append("orange") # 添加新的水果
fruits.insert(1, "mango") # 在第二个位置插入水果
print(fruits) # 输出: ['apple', 'mango', 'banana', 'cherry', 'orange']
练习 2:删除列表中的指定元素
fruits = ["apple", "banana", "cherry", "mango"]
fruits.remove("banana") # 删除指定元素
print(fruits) # 输出: ['apple', 'cherry', 'mango']
练习 3:对一个列表进行排序
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
numbers.sort() # 排序列表
print(numbers) # 输出: [1, 1, 2, 3, 4, 5, 6, 9]
练习 4:通过索引访问嵌套列表
nested_list = [["apple", "banana"], ["cherry", "date"], ["elderberry", "fig"]]
print(nested_list[1][0]) # 输出: cherry
7. 总结
列表是 Python 中一种非常强大的数据结构,它支持多种操作,使得数据的存储和处理变得更加灵活。通过本章节的学习,你已经掌握了列表的基本操作,例如创建、访问、修改、删除元素,以及如何使用常见方法对列表进行操作。列表在 Python 中有着广泛的应用,尤其是在数据存储和处理过程中。掌握列表的使用,将极大提高你编程的效率。
评论区