list
列表(List)是 Python
中最常用的数据结构之一,它可以存储多个元素,并且允许对其中的元素进行添加、删除、修改和排序等操作。列表用方括号 []
表示,每个元素用逗号 ,
分隔。
1
| my_list = [1, 2, 3, "four", 5.0]
|
- 可以通过索引值来访问列表中的元素。索引值从0开始,表示第一个元素,依次类推。例如,要访问上面列表中的第三个元素(即数字
3
),可以使用以下代码:
1
| print(my_list[2]) # 输出:3
|
- 还可以使用切片(slice)来访问列表中的一部分元素。切片可以理解为提取列表中的一个子集,其语法为
[start:stop:step]
,其中 start
表示起始位置,stop
表示结束位置(不包含该位置的元素),step
表示步长(默认为1)。例如,要提取上面列表中的前三个元素,可以使用以下代码:
1
| print(my_list[:3]) # 输出:[1, 2, 3]
|
1
2
| my_list.append("six")
print(my_list) # 输出:[1, 2, 3, 'four', 5.0, 'six']
|
- 还可以使用以下代码将另一个列表
[7, 8, 9]
中的元素添加到该列表的末尾:
1
2
| my_list.extend([7, 8, 9])
print(my_list) # 输出:[1, 2, 3, 'four', 5.0, 'six', 7, 8, 9]
|
stack
堆栈是一种常见的数据结构,它可以用来存储一组元素,其中最后加入的元素最先被取出。也就是说,堆栈遵循“后进先出”的原则(Last In
First Out, LIFO)。在堆栈中,只允许在顶部进行插入和删除操作,因此堆栈也被称为“栈”(Stack)。
- Python 中可以使用列表来实现堆栈。具体来说,可以使用
append()
方法向列表末尾添加一个元素,使用 pop()
方法从列表末尾移除一个元素。例如,以下代码演示了如何使用列表实现一个简单的堆栈:
1
2
3
4
5
6
7
8
9
10
11
| stack = [] # 创建一个空栈
# 向栈中添加元素
stack.append(1)
stack.append(2)
stack.append(3)
# 从栈中取出元素
print(stack.pop()) # 输出:3
print(stack.pop()) # 输出:2
print(stack.pop()) # 输出:1
|
在上面的代码中,我们首先创建了一个空列表 stack
,然后使用 append()
方法向栈中依次添加元素 1
、2
和 3
。接着,我们使用 pop()
方法从栈中依次取出元素,并分别输出它们的值。由于堆栈遵循“后进先出”的原则,因此最后加入的元素 3
最先被取出,其次是 2
和 1
。
- 需要注意的是,如果尝试从空栈中取出元素,将会引发
IndexError
异常。因此,在使用栈时应该先判断栈是否为空。例如,以下代码演示了如何在弹出元素前检查栈是否为空:
1
2
3
4
5
6
7
8
9
10
11
12
| stack = []
if not stack:
print("栈为空")
# 尝试从空栈中弹出元素
try:
item = stack.pop()
except IndexError:
print("栈已为空")
else:
print(item)
|
在上面的代码中,我们首先创建了一个空列表 stack
,然后使用 if not stack
判断栈是否为空。由于栈为空,因此输出一条提示信息。接着,我们使用 try...except...else...
结构来尝试从空栈中弹出元素。由于栈已经为空,因此将会引发 IndexError
异常,并输出一条提示信息。
队列
队列是一种常见的数据结构,它可以用来存储一组元素,并且保证最先加入的元素最先被取出。也就是说,队列遵循“先进先出”的原则(First
In First Out, FIFO)。在队列中,只允许在队尾进行插入操作,在队头进行删除操作,因此队列也被称为“先进先出队列”(First-In-First-Out
Queue,FIFO Queue)。
- Python 中可以使用列表来实现队列。具体来说,可以使用
append()
方法向列表末尾添加一个元素,使用 pop()
方法从列表头部移除一个元素。例如,以下代码演示了如何使用列表实现一个简单的队列:
1
2
3
4
5
6
7
8
9
10
11
| queue = [] # 创建一个空队列
# 向队列中添加元素
queue.append(1)
queue.append(2)
queue.append(3)
# 从队列中取出元素
print(queue.pop(0)) # 输出:1
print(queue.pop(0)) # 输出:2
print(queue.pop(0)) # 输出:3
|
在上面的代码中,我们首先创建了一个空列表 queue
,然后使用 append()
方法向队列中依次添加元素 1
、2
和 3
。接着,我们使用 pop(0)
方法从队列中依次取出元素,并分别输出它们的值。由于队列遵循“先进先出”的原则,因此最先加入的元素 1
最先被取出,其次是 2
和 3
。
- 需要注意的是,如果尝试从空队列中取出元素,将会引发
IndexError
异常。因此,在使用队列时应该先判断队列是否为空。例如,以下代码演示了如何在弹出元素前检查队列是否为空:
1
2
3
4
5
6
7
8
9
10
11
12
| queue = []
if not queue:
print("队列为空")
# 尝试从空队列中弹出元素
try:
item = queue.pop(0)
except IndexError:
print("队列已为空")
else:
print(item)
|
在上面的代码中,我们首先创建了一个空列表 queue
,然后使用 if not queue
判断队列是否为空。由于队列为空,因此输出一条提示信息。接着,我们使用 try...except...else...
结构来尝试从空队列中弹出元素。由于队列已经为空,因此将会引发 IndexError
异常,并输出一条提示信息。