首页 > 解决方案 > 在 For 循环中向后循环而不反转数组的 Python 最佳实践

问题描述

在解决 Leetcode 等问题时​​,通常需要从数组的末尾迭代到前面,我习惯于更传统的编程语言,其中for循环不那么尴尬,即数组的最后一个索引for(int i = n; i >= 0; i--)在哪里n,但在 Python 中我发现我正在做这样的事情for i in range(n,-1,-1),看起来有点尴尬,所以我只想知道是否有更优雅的东西。我知道我可以通过 do 来反转数组array[::-1],然后像往常一样使用 for range 循环,但这并不是我真正想要做的,因为它增加了问题的计算复杂性。

标签: python

解决方案


使用reversedwhich 不会创建新列表,而是创建一个反向迭代器,并允许您反向迭代:

a = [1, 2, 3, 4, 5]

for n in reversed(a):
     print(n)

推荐阅读