现在我这样做:
for i in range(len(my_list)-1, -1, -1):
# ...
但我想知道我们是否有更好的方式来表达更清晰的意思。
答案 0 :(得分:7)
for elem in reversed(my_list):
对象可以通过提供__reversed__()
special method来支持有效的反向迭代; list对象实现此方法以有效地支持反向迭代。否则,必须实现正常的序列协议(object.__getitem__()
和object.__len__()
)。
请注意,这不会创建新的列表对象;它会生成一个迭代器,这是一个在循环时跟踪列表中位置的对象。