将Python for循环转换为while循环

时间:2015-02-04 07:13:05

标签: python loops for-loop while-loop

采用数字列表[1,2,3]的函数如何通过使用while循环而不是提供的for循环返回列表[3,2,1]。此外,for循环中过量的-1是什么意思。

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

1 个答案:

答案 0 :(得分:2)

-1中过多的range(len(items) - 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)的结果。