如何使用Python 3 中的enumerate() 函数配合冒泡排序算法来遍历并排序一个列表?
时间: 2024-10-23 12:17:23 浏览: 15
python中使用enumerate函数遍历元素实例
5星 · 资源好评率100%
在 Python 3 中,`enumerate()` 函数可以将列表元素及其索引打包成元组,这样在遍历列表的同时,我们既能获取到当前元素,也能跟踪到它的位置。结合冒泡排序算法,我们可以按照元素值的大小同时对它们的位置进行交换,直到整个列表有序。
以下是使用 `enumerate()` 和冒泡排序的例子:
```python
def bubble_sort_with_enumerate(lst):
n = len(lst)
for i in range(n):
# 使用 enumerate 获取当前元素及其索引
for j in range(0, n-i-1):
index, value = enumerate(lst[j:j+2])
if index[0] == 0 and value[1] > value[0]: # 如果第一个元素大于第二个
lst[j], lst[j+1] = lst[j+1], lst[j] # 交换两个元素
return lst
# 示例列表
numbers = [64, 34, 25, 12, 22, 11, 90]
# 使用上述函数进行排序
sorted_numbers = bubble_sort_with_enumerate(numbers)
print("Sorted list with enumerate:")
for index, value in enumerate(sorted_numbers):
print(f"Index {index}: {value}")
阅读全文