Python 中循环列表的最佳方式是什么?
What is the best way in Python to loop over a list back to front?
现在我是这样做的:
for i in range(len(my_list)-1, -1, -1):
# ...
但我想知道我们是否有更好的方法,意思更清楚。
for elem in reversed(my_list):
一个对象可以通过提供 __reversed__()
special method; list objects implement this method to support reverse iteration efficiently. Otherwise, the normal sequence protocol (object.__getitem__()
and object.__len__()
) 来支持有效的反向迭代。
请注意,这不会创建新的列表对象;它产生一个迭代器,一个在你遍历它时跟踪列表中位置的对象。
现在我是这样做的:
for i in range(len(my_list)-1, -1, -1):
# ...
但我想知道我们是否有更好的方法,意思更清楚。
for elem in reversed(my_list):
一个对象可以通过提供 __reversed__()
special method; list objects implement this method to support reverse iteration efficiently. Otherwise, the normal sequence protocol (object.__getitem__()
and object.__len__()
) 来支持有效的反向迭代。
请注意,这不会创建新的列表对象;它产生一个迭代器,一个在你遍历它时跟踪列表中位置的对象。