将 Python for 循环翻译成 while 循环

Translate Python for loop into a while loop

获取数字列表 [1,2,3]、return 列表 [3,2,1] 的函数如何使用 while 循环而不是提供的 for 循环。另外,for循环中过多的-1是什么意思。

def for_version(items):
   result = []
   for i in range(len(items) - 1, -1, -1):
      result.append(items[i])
   return result

range(len(items) - 1, -1, -1)中过多的-1依次为返回序列的下界(在负步的情况下)和步长(docs)。

例如range(5, -1, -1)表示从5到0的数字列表(-1为排他边界),递减1.

关于 while 循环:

def while_version(items):
    i = len(items) - 1
    result = []
    while i >= 0:
        result.append(items[i])
        i -= 1
    return result

i变量模拟range(len(items) - 1, -1, -1)的结果。