python合并两个有序列表
时间: 2023-09-11 10:09:04 浏览: 59
可以通过双指针法来实现合并两个有序列表的操作。具体步骤如下:
1. 定义两个指针 `i` 和 `j` 分别指向两个有序列表的起始位置。
2. 创建一个空列表 `merged` 用于存放合并后的有序列表。
3. 比较 `list1[i]` 和 `list2[j]` 的大小,将较小的元素添加到 `merged` 中,并将对应指针向后移动一位。
4. 重复步骤 3 直到其中一个有序列表的元素全部添加到 `merged` 中。
5. 将另一个有序列表中未添加到 `merged` 中的元素全部添加到 `merged` 中。
6. 返回合并后的有序列表 `merged`。
下面是 Python 代码实现:
```python
def merge_sorted_lists(list1, list2):
i, j = 0, 0
merged = []
while i < len(list1) and j < len(list2):
if list1[i] <= list2[j]:
merged.append(list1[i])
i += 1
else:
merged.append(list2[j])
j += 1
merged.extend(list1[i:])
merged.extend(list2[j:])
return merged
```
其中 `extend()` 方法可以将一个列表中的元素逐个添加到另一个列表中。在本例中,我们使用 `extend()` 方法将剩余的元素全部添加到 `merged` 中。