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():是一个函数,不仅可以用于列表,还可以用于其他可迭代对象。此外,它不会修改原来的列表。
| list.reverse() | reversed() | |
|---|---|---|
| 类型 | 列表方法 | 内置函数 |
| 操作对象 | 仅列表 | 可迭代对象(任意) |
| 修改原对象 | 是 | 否 |
| 返回值 | None | 反向迭代器 |
示例 4:reverse() 方法
cities = ['北京', '上海', '广州', '深圳', '杭州']
cities.reverse()
print(cities)运行结果如下。
['杭州', '深圳', '广州', '上海', '北京']示例 5:reversed() 函数
cities = ['北京', '上海', '广州', '深圳', '杭州']
result = list(reversed(cities))
print(cities)
print(result)运行结果如下。
['北京', '上海', '广州', '深圳', '杭州']
['杭州', '深圳', '广州', '上海', '北京']