Dam*_* Lu 1 python iteration list
现在我这样做:
for i in range(len(my_list)-1, -1, -1):
# ...
Run Code Online (Sandbox Code Playgroud)
但我想知道我们是否有一个更清晰的意义更好的方式.
使用reversed()功能:
for elem in reversed(my_list):
Run Code Online (Sandbox Code Playgroud)
对象可以通过提供__reversed__()特殊方法来支持有效的反向迭代; list对象实现此方法以有效地支持反向迭代.否则,必须实现正常的序列协议(object.__getitem__()和object.__len__()).
请注意,这不会创建新的列表对象; 它会生成一个迭代器,一个在循环时跟踪列表中位置的对象.