Python | list.reverse()与reversed()
reverse()
方法
在 Python 中,reverse()
是列表对象的一个方法,用于 原地反转列表中的元素顺序。它不会返回一个新的列表,而是直接修改原始列表。
语法
list.reverse()
参数
- 无参数。
返回值
reverse()
方法没有返回值(返回None
),因为它直接修改原始列表。
示例
1. 基本用法
numbers = [1, 2, 3, 4, 5] numbers.reverse() print(numbers) # 输出: [5, 4, 3, 2, 1]
2. 反转字符串列表
words = ["apple", "banana", "cherry"] words.reverse() print(words) # 输出: ['cherry', 'banana', 'apple']
3. 反转嵌套列表
nested_list = [[1, 2], [3, 4], [5, 6]] nested_list.reverse() print(nested_list) # 输出: [[5, 6], [3, 4], [1, 2]]
注意事项
- 原地修改:reverse() 会直接修改原始列表,而不是返回一个新的列表。如果你不希望修改原始列表,可以使用切片操作或 reversed() 函数。
- 仅适用于列表:reverse() 是列表对象的方法,不能直接用于其他可迭代对象(如元组、字符串等)。如果需要反转其他可迭代对象,可以先将它们转换为列表,或者使用 reversed() 函数。
- 无返回值:reverse() 返回 None,因此不能将它的结果直接赋值给变量。
与 reversed()
函数的区别
reversed()
是 Python 的内置函数,用于反转任何可迭代对象(如列表、元组、字符串等),并返回一个反转后的迭代器。它不会修改原始数据。
语法
reversed(iterable)
示例
# 反转列表 numbers = [1, 2, 3, 4, 5] reversed_numbers = reversed(numbers) print(list(reversed_numbers)) # 输出: [5, 4, 3, 2, 1] # 反转字符串 text = "python" reversed_text = reversed(text) print("".join(reversed_text)) # 输出: nohtyp
反转列表的其他方法
使用切片操作
切片操作可以返回一个新的反转后的列表,而不会修改原始列表。
numbers = [1, 2, 3, 4, 5] reversed_numbers = numbers[::-1] print(reversed_numbers) # 输出: [5, 4, 3, 2, 1]