# 3. Python 数据结构
## 列表与元组
### 列表(List)
列表是 Python 中最常用的数据结构之一,它是一个有序的可变序列,可以存储任意类型的元素。列表用方括号 `[]` 表示,元素之间用逗号分隔。
#### 创建列表
```python
# 创建一个空列表
empty_list = []
# 创建一个包含多个元素的列表
fruits = ["apple", "banana", "cherry"]
numbers = [1, 2, 3, 4, 5]
mixed_list = [1, "hello", 3.14, True]
访问列表元素
列表中的元素可以通过索引访问,索引从 0 开始。
fruits = ["apple", "banana", "cherry"]
print(fruits[0]) # 输出: apple
print(fruits[-1]) # 输出: cherry (负索引表示从末尾开始)
修改列表元素
列表是可变的,可以通过索引修改元素。
fruits = ["apple", "banana", "cherry"]
fruits[1] = "blueberry"
print(fruits) # 输出: ["apple", "blueberry", "cherry"]
列表操作
添加元素:使用
append()方法在列表末尾添加元素,或使用insert()方法在指定位置插入元素。fruits.append("orange") fruits.insert(1, "mango")删除元素:使用
remove()方法删除指定元素,或使用pop()方法删除指定索引的元素。fruits.remove("banana") fruits.pop(1)列表切片:使用切片操作可以获取列表的子集。
sub_list = fruits[1:3] # 获取索引 1 到 2 的元素列表拼接:使用
+运算符可以拼接两个列表。combined_list = fruits + numbers列表长度:使用
len()函数获取列表的长度。length = len(fruits)
元组(Tuple)
元组是 Python 中的另一种有序序列,与列表类似,但元组是不可变的。元组用圆括号 () 表示,元素之间用逗号分隔。
创建元组
# 创建一个空元组
empty_tuple = ()
# 创建一个包含多个元素的元组
colors = ("red", "green", "blue")
coordinates = (10, 20)
访问元组元素
元组中的元素可以通过索引访问,索引从 0 开始。
colors = ("red", "green", "blue")
print(colors[0]) # 输出: red
print(colors[-1]) # 输出: blue
元组的不可变性
元组一旦创建,其元素不可修改。尝试修改元组元素会引发错误。
colors[1] = "yellow" # 会引发 TypeError
元组操作
元组拼接:使用
+运算符可以拼接两个元组。combined_tuple = colors + coordinates元组长度:使用
len()函数获取元组的长度。length = len(colors)元组解包:可以将元组的元素解包到多个变量中。
x, y = coordinates
列表与元组的比较
| 特性 | 列表(List) | 元组(Tuple) |
|---|---|---|
| 可变性 | 可变 | 不可变 |
| 语法 | 方括号 [] | 圆括号 () |
| 性能 | 较慢 | 较快 |
| 适用场景 | 需要频繁修改 | 数据不可变 |
总结
列表和元组是 Python 中常用的数据结构,分别适用于不同的场景。列表适合存储需要频繁修改的数据,而元组适合存储不可变的数据。理解它们的特性和使用方法,有助于编写更高效、更清晰的 Python 代码。
