采用数字列表[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
答案 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)
的结果。