Python - 列表
你好,有抱负的程序员们!今天,我们将深入探讨 Python 列表的奇妙世界。作为你们友好的计算机科学老师,我很兴奋能引导你们完成这次学习之旅。让我们从基础知识开始,逐步深入到更高级的概念。相信我,在本教程结束时,你们使用列表将会像专业人士一样熟练!?
Python 列表
Python 中的列表就像是数据结构中的瑞士军刀。它们功能多样、易于使用且非常强大。想象一下,你正在组织一个聚会,需要跟踪你的客人。列表将是完美选择!
让我们创建第一个列表:
guests = ["Alice", "Bob", "Charlie", "David"]
print(guests)
运行这段代码,你会看到:
['Alice', 'Bob', 'Charlie', 'David']
恭喜!你刚刚创建了你的第一个列表。但这里到底发生了什么呢?
在 Python 中,列表是一系列用方括号 []
包围的项,每个项之间用逗号分隔。这些项可以是任何类型 - 字符串、数字,甚至是其他列表!
这里有一个包含多种数据类型的例子:
mixed_list = [42, "Hello", 3.14, True, [1, 2, 3]]
print(mixed_list)
输出:
[42, 'Hello', 3.14, True, [1, 2, 3]]
正如你所看到的,我们的列表包含了一个整数、一个字符串、一个浮点数、一个布尔值,甚至另一个列表!
访问列表中的值
现在我们有了客人列表,我们如何查看谁要来呢?这时索引就派上用场了。在 Python 中,列表索引从 0 开始。所以,要访问第一个项,我们使用索引 0。
guests = ["Alice", "Bob", "Charlie", "David"]
print(guests[0]) # 第一个客人
print(guests[2]) # 第三个客人
print(guests[-1]) # 最后一个客人
输出:
Alice
Charlie
David
注意到我们使用 -1 来访问最后一个项了吗?负索引从列表的末尾开始。这就像是从后往前数!
更新列表
哎呀!我们忘了邀请 Eve。让我们把她加到列表里:
guests = ["Alice", "Bob", "Charlie", "David"]
guests.append("Eve")
print(guests)
输出:
['Alice', 'Bob', 'Charlie', 'David', 'Eve']
append()
方法将一个项添加到列表的末尾。但如果我们想把 Eve 加在 Bob 和 Charlie 之间呢?
guests.insert(2, "Eve")
print(guests)
输出:
['Alice', 'Bob', 'Eve', 'Charlie', 'David', 'Eve']
现在我们有两个 Eve!让我们在下一节中修正这个问题。
删除列表元素
有时,我们需要从列表中移除项。让我们移除多余的 Eve:
guests = ['Alice', 'Bob', 'Eve', 'Charlie', 'David', 'Eve']
guests.remove("Eve")
print(guests)
输出:
['Alice', 'Bob', 'Charlie', 'David', 'Eve']
remove()
方法移除了指定项的第一个出现。如果我们知道索引,我们可以使用 pop()
:
removed_guest = guests.pop(3)
print(f"{removed_guest} 不能来了。")
print(guests)
输出:
David 不能来了。
['Alice', 'Bob', 'Charlie', 'Eve']
Python 列表操作
Python 中的列表带来了一些很酷的技巧。让我们探索一些:
# 连接
list1 = [1, 2, 3]
list2 = [4, 5, 6]
combined = list1 + list2
print(combined)
# 重复
repeated = [1, 2, 3] * 3
print(repeated)
# 长度
guests = ['Alice', 'Bob', 'Charlie', 'Eve']
print(len(guests))
输出:
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 1, 2, 3, 1, 2, 3]
4
索引、切片和矩阵
记得我们如何访问单个项吗?我们也可以使用切片一次获取多个项:
guests = ['Alice', 'Bob', 'Charlie', 'David', 'Eve']
print(guests[1:4]) # 从索引 1 开始,到索引 4(不包括)
print(guests[:3]) # 从开始到索引 3(不包括)
print(guests[2:]) # 从索引 2 到末尾
print(guests[::2]) # 每隔一个项
输出:
['Bob', 'Charlie', 'David']
['Alice', 'Bob', 'Charlie']
['Charlie', 'David', 'Eve']
['Alice', 'Charlie', 'Eve']
列表也可以用来创建矩阵(二维列表):
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(matrix[1][1]) # 访问第二行第二列的元素
输出:
5
Python 列表方法
Python 为列表提供了多种内置方法。以下是一些常见的方法:
方法 | 描述 |
---|---|
append() | 在列表末尾添加元素 |
clear() | 移除列表中的所有元素 |
copy() | 返回列表的副本 |
count() | 返回具有指定值的元素数量 |
extend() | 将列表的元素添加到当前列表的末尾 |
index() | 返回具有指定值的第一个元素的索引 |
insert() | 在指定位置添加元素 |
pop() | 移除指定位置的元素 |
remove() | 移除第一个具有指定值的项 |
reverse() | 反转列表的顺序 |
sort() | 对列表进行排序 |
让我们尝试一些:
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3]
numbers.sort()
print(numbers)
numbers.reverse()
print(numbers)
print(numbers.count(5))
输出:
[1, 1, 2, 3, 3, 4, 5, 5, 6, 9]
[9, 6, 5, 5, 4, 3, 3, 2, 1, 1]
2
与列表一起使用的内置函数
Python 还提供了几个与列表一起使用的内置函数:
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3]
print(max(numbers)) # 最大值
print(min(numbers)) # 最小值
print(sum(numbers)) # 所有值的和
输出:
9
1
39
就是这些了,各位!我们已经穿越了 Python 列表的领域,从创建到操作,从简单操作到内置方法。请记住,熟能生巧,所以不要害怕尝试这些概念。
在结束之前,这里有一个有趣的事实:你知道 Python 列表实际上是作为动态数组实现的吗?这意味着它们可以根据需要增长或缩小,使其非常灵活。
希望你们享受这个教程,就像我享受引导你们一样。继续编码,继续学习,最重要的是,继续享受 Python 的乐趣!
Credits: Image by storyset