在Python中,反序迭代列表有以下几种方法:
1. 使用内置函数 `reversed()`:
my_list = [1, 2, 3, 4, 5]for item in reversed(my_list):print(item)
2. 使用切片操作 `[::-1]`:
my_list = [1, 2, 3, 4, 5]reversed_list = my_list[::-1]for item in reversed_list:print(item)
3. 使用列表的 `reverse()` 方法(这会修改原列表):
my_list = [1, 2, 3, 4, 5]my_list.reverse()for item in my_list:print(item)
4. 使用 `range()` 函数生成序列的反向索引:

my_list = [1, 2, 3, 4, 5]for i in range(len(my_list)-1, -1, -1):print(my_list[i])
5. 自定义类实现 `__reversed__()` 方法:
class FloatRange:def __init__(self, start, end, step=0.1):self.start = startself.end = endself.step = stepdef __iter__(self):t = self.startwhile t <= self.end:yield tt += self.stepdef __reversed__(self):t = self.endwhile t >= self.start:yield tt -= self.stepfor x in reversed(FloatRange(1.0, 4.0, 0.5)):print(x)
