答案:Python中逆序序列常用切片[::-1]、reversed()函数和list.reverse()方法,切片适用于所有序列且不修改原对象,reversed()返回迭代器需转换,list.reverse()仅用于列表并直接修改原列表。

在 Python 中,对序列进行逆序操作有多种方式,适用于列表、字符串、元组等可迭代对象。下面介绍几种常用方法。
使用切片逆序
这是最简洁的方式,适用于所有序列类型(列表、字符串、元组)。
# 列表逆序 lst = [1, 2, 3, 4, 5] reversed_lst = lst[::-1] print(reversed_lst) # 输出: [5, 4, 3, 2, 1]字符串逆序
s = "hello" reversed_s = s[::-1] print(reversed_s) # 输出: "olleh"
元组逆序
t = (1, 2, 3) reversed_t = t[::-1] print(reversed_t) # 输出: (3, 2, 1)
切片 [::-1] 表示从末尾到开头,步长为 -1,实现完全逆序。
使用 reversed() 函数
reversed() 返回一个逆序的迭代器,可以转换为列表或其他序列类型。
立即学习“Python免费学习笔记(深入)”;
# 列表使用 reversed() lst = [1, 2, 3, 4, 5] reversed_lst = list(reversed(lst)) print(reversed_lst) # 输出: [5, 4, 3, 2, 1]字符串逆序
s = "hello" reversed_s = ''.join(reversed(s)) print(reversed_s) # 输出: "olleh"
注意:reversed() 不修改原序列,返回的是迭代器,需用 list()、tuple() 或 ''.join() 等转换。
使用 list.reverse() 方法(仅限列表)
列表独有的 reverse() 方法会直接修改原列表,不返回新列表。
lst = [1, 2, 3, 4, 5] lst.reverse() print(lst) # 输出: [5, 4, 3, 2, 1]
如果不需要保留原顺序,这种方式更节省内存。
总结建议
根据使用场景选择合适的方法:
- 想保留原序列并快速逆序:用 切片 [::-1]
- 处理任意可迭代对象并需要迭代器:用 reversed()
- 只处理列表且允许修改原数据:用 list.reverse()
基本上就这些,不复杂但容易忽略细节。











