Python 列表 reverse() 方法

Python reverse() 语法

reverse() 是 Python 列表的一个方法,它用于反转列表中的元素,也就是将列表元素反向排列。

语法:

list.reverse()

说明:

reverse() 方法不接收任何参数,并且不会返回任何值,而是直接修改原列表。

提示:

  • reverse() 方法会直接修改原列表。如果想要保留原列表,可以考虑 3 种方式:(1)使用 reversed() 函数;(2)使用 [::-1];(3)先复制再使用reverse()。
  • reverse() 方法反转的是列表中元素的 “顺序”,而不是元素本身的 “值”。例如,如果列表包含嵌套列表,嵌套列表本身不会被反转。

Python reverse() 摘要

使用频率
修改原列表
时间复杂度 O(n)
官方文档 查看

Python reverse() 示例

接下来,我们通过几个简单的例子来讲解一下 Python reverse() 方法是如何使用的。

示例 1:使用 reverse() 反转列表

cities = ['北京', '上海', '广州', '深圳', '杭州']
cities.reverse()
print(cities)

运行结果如下。

['杭州', '深圳', '广州', '上海', '北京']

分析:

想要反转列表元素,除了使用 reverse() 方法之外,还可以使用切片来实现。

示例 2:使用切片反转列表

cities = ['北京', '上海', '广州', '深圳', '杭州']
result = cities[::-1]
print(result)

运行结果如下:

['杭州', '深圳', '广州', '上海', '北京']

分析:

想要反转列表元素,如果你希望改变原列表,则建议使用 reverse() 方法。如果你不希望改版原列表,则建议使用切片方式。

reverse() 的应用场景

给定一个数字列表,判断该列表是否为 “回文列表”。所谓的 “回文列表”,指的是在列表所有元素,第 1 个元素和倒数第 1 个元素相同,第 2 个元素和倒数第 2 个元素相同,……,依此类推。

示例 3:reverse() 判断列表是否回文列表

nums1 = [1, 2, 3, 2, 1]
nums2 = nums1.copy()
nums2.reverse()
if nums1 == nums2:
    print('这是回文列表')
else:
    print('这不是回文列表')

运行结果如下。

这是回文列表

reverse() 方法和 reversed() 函数

实际上,Python 还有一个内置函数 reversed(),它和列表 reverse() 方法之间的区别如下。

  • reverse():是一个方法,只能用于列表。此外,它会修改原来的列表。
  • reversed():是一个函数,不仅可以用于列表,还可以用于其他可迭代对象。此外,它不会修改原来的列表。
reverse() 方法 vs reversed() 函数
list.reverse() reversed()
类型 列表方法 内置函数
操作对象 仅列表 可迭代对象(任意)
修改原对象
返回值 None 反向迭代器

示例 4:reverse() 方法

cities = ['北京', '上海', '广州', '深圳', '杭州']
cities.reverse()
print(cities)

运行结果如下。

['杭州', '深圳', '广州', '上海', '北京']

示例 5:reversed() 函数

cities = ['北京', '上海', '广州', '深圳', '杭州']
result = list(reversed(cities))
print(cities)
print(result)

运行结果如下。

['北京', '上海', '广州', '深圳', '杭州']
['杭州', '深圳', '广州', '上海', '北京']

上一篇: copy()

下一篇: sort()

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号