009. 将一个列表[1,2,3,4,5]反转

在 Python 中,有多种方法可以将一个列表反转。以下是几种常见的方法:

方法 1:使用 reverse() 方法

reverse() 方法会直接修改原列表,将其反转。

# 创建一个列表
my_list = [1, 2, 3, 4, 5]

# 使用 reverse() 方法反转列表
my_list.reverse()

# 打印反转后的列表
print(my_list)  # 输出:[5, 4, 3, 2, 1]

方法 2:使用切片

切片操作可以快速创建一个反转后的列表,而不会修改原列表。

# 创建一个列表
my_list = [1, 2, 3, 4, 5]

# 使用切片反转列表
reversed_list = my_list[::-1]

# 打印反转后的列表
print(reversed_list)  # 输出:[5, 4, 3, 2, 1]

方法 3:使用 reversed() 函数

reversed() 函数会返回一个反转后的迭代器,可以通过 list() 函数将其转换为列表。

# 创建一个列表
my_list = [1, 2, 3, 4, 5]

# 使用 reversed() 函数反转列表
reversed_list = list(reversed(my_list))

# 打印反转后的列表
print(reversed_list)  # 输出:[5, 4, 3, 2, 1]

方法 4:手动反转

如果需要手动实现反转,可以通过循环交换元素的位置。

# 创建一个列表
my_list = [1, 2, 3, 4, 5]

# 手动反转列表
left = 0
right = len(my_list) - 1
while left < right:
    # 交换左右元素
    my_list[left], my_list[right] = my_list[right], my_list[left]
    # 移动指针
    left += 1
    right -= 1

# 打印反转后的列表
print(my_list)  # 输出:[5, 4, 3, 2, 1]

方法 5:使用递归

虽然不常见,但也可以通过递归实现列表反转。

def reverse_list(lst):
    if len(lst) <= 1:
        return lst
    else:
        return reverse_list(lst[1:]) + [lst[0]]

# 创建一个列表
my_list = [1, 2, 3, 4, 5]

# 使用递归反转列表
reversed_list = reverse_list(my_list)

# 打印反转后的列表
print(reversed_list)  # 输出:[5, 4, 3, 2, 1]

总结

  • 如果需要直接修改原列表,可以使用 reverse() 方法。

  • 如果需要保留原列表,可以使用切片或 reversed() 函数。

  • 手动反转和递归反转适用于学习和练习,但在实际开发中通常使用内置方法。

以下是对比表格:

方法 修改原列表 返回新列表 代码简洁性
reverse() 简洁
切片 最简洁
reversed() 简洁
手动反转 较复杂
递归反转 复杂

视频讲解

BiliBili: 视睿网络-哔哩哔哩视频 (bilibili.com)