### Python列表添加元素的方法
在Python中,列表是可变的序列类型,支持多种方法来添加元素。以下是`append`、`extend`和`insert`三个方法的具体使用方式及其特点:
#### 1. 使用 `append` 方法
`append` 方法用于将单个元素添加到列表的末尾。如果传入的是一个列表或其他可迭代对象,则整个对象作为一个单独的元素被添加[^2]。
```python
my_list = [1, 2, 3]
my_list.append(4) # 添加单个元素
print(my_list) # 输出: [1, 2, 3, 4]
my_list.append([5, 6]) # 添加一个列表作为单个元素
print(my_list) # 输出: [1, 2, 3, 4, [5, 6]]
```
#### 2. 使用 `extend` 方法
`extend` 方法用于将一个可迭代对象(如列表、元组等)中的所有元素逐一添加到列表的末尾。与 `append` 不同,它不会将整个可迭代对象作为一个元素添加,而是将其拆分为多个元素[^1]。
```python
my_list = [1, 2, 3]
my_list.extend([4, 5]) # 添加多个元素
print(my_list) # 输出: [1, 2, 3, 4, 5]
my_list.extend((6, 7)) # 可以扩展其他可迭代对象
print(my_list) # 输出: [1, 2, 3, 4, 5, 6, 7]
```
#### 3. 使用 `insert` 方法
`insert` 方法用于在指定位置插入一个元素。第一个参数为索引位置,第二个参数为要插入的元素。如果索引超出范围,则元素会被添加到列表末尾。
```python
my_list = [1, 2, 3]
my_list.insert(1, 99) # 在索引1的位置插入99
print(my_list) # 输出: [1, 99, 2, 3]
my_list.insert(10, 100) # 索引超出范围时,添加到末尾
print(my_list) # 输出: [1, 99, 2, 3, 100]
```
#### 性能对比
- `append` 和 `extend` 的时间复杂度通常为 O(1),因为它们只是简单地将元素或可迭代对象附加到列表末尾。
- `insert` 的时间复杂度为 O(n),因为它需要移动部分或全部现有元素以腾出空间[^1]。
### 示例代码
以下是一个综合示例,展示如何使用上述三种方法向列表添加元素:
```python
# 初始化列表
my_list = [1, 2, 3]
# 使用 append 添加单个元素
my_list.append(4)
print("After append:", my_list)
# 使用 extend 添加多个元素
my_list.extend([5, 6])
print("After extend:", my_list)
# 使用 insert 在指定位置插入元素
my_list.insert(1, 99)
print("After insert:", my_list)
```
输出结果:
```
After append: [1, 2, 3, 4]
After extend: [1, 2, 3, 4, 5, 6]
After insert: [1, 99, 2, 3, 4, 5, 6]
```