在 Python 中,可以使用 range() 函数结合负步长来实现倒序循环,以下是几种常见的方法:

方法 1:使用 range(start, stop, step) 负步长
for i in range(5, 0, -1):
print(i)
输出:
5
4
3
2
1
- 参数说明:
start:起始值(包含)stop:结束值(不包含)step:步长(负数表示倒序)
方法 2:从列表/字符串倒序遍历
如果需要遍历列表或字符串的倒序,可以直接用 reversed() 或切片:
# 使用 reversed()
my_list = [1, 2, 3, 4, 5]
for item in reversed(my_list):
print(item)
# 使用切片倒序(推荐)
for item in my_list[::-1]:
print(item)
输出:
5
4
3
2
1
方法 3:结合 len() 倒序遍历索引
my_list = ['a', 'b', 'c', 'd']
for i in range(len(my_list)-1, -1, -1):
print(my_list[i])
输出:

d
c
b
a
注意事项
stop的值不包含:range(5, 0, -1)会到1为止,不会输出0。- 避免空循环:
start < stop且步长为负,循环不会执行(如range(1, 5, -1)不会输出任何内容)。 - 性能:直接使用
reversed()或切片通常比手动range()更直观。
| 需求 | 示例代码 |
|---|---|
| 数字倒序(5到1) | for i in range(5, 0, -1): print(i) |
| 列表倒序遍历 | for item in my_list[::-1]: print(item) |
| 字符串倒序遍历 | for char in "hello"[::-1]: print(char) |
| 倒序获取索引 | for i in range(len(my_list)-1, -1, -1): print(my_list[i]) |
根据场景选择最合适的方法即可!

