在Python中,reverse
主要用于反转序列(如列表、字符串、元组)的元素顺序,其核心方法包括直接修改原列表的reverse()
和生成新迭代器的reversed()
函数。 关键亮点在于:reverse()
会原地修改列表且无返回值,而reversed()
返回逆序迭代器且不改变原序列,两者分别适用于不同场景。
-
reverse()
方法
仅适用于列表,直接修改原列表。例如:python复制
my_list = [1, 2, 3] my_list.reverse() # 原列表变为[3, 2, 1]
-
reversed()
函数
适用于所有序列(列表、元组、字符串等),返回逆序迭代器,需通过list()
或join()
转换。例如:python复制
reversed_str = ''.join(reversed("hello")) # 得到"olleh"
-
不可变序列的处理
元组和字符串需借助reversed()
或切片(如[::-1]
)实现反转,避免直接修改的报错。 -
性能与选择建议
- 需保留原序列时用
reversed()
; - 允许修改原序列且需节省内存时用
reverse()
。
- 需保留原序列时用
总结:根据需求选择合适方法,注意reverse()
的原地操作特性,灵活结合切片和迭代器提升代码效率。