输入列表:[1, 2, 3, 4, 5]
输出:[5, 4, 3, 2, 1]
我知道如何使用for循环,但我的任务是使用while循环执行;我不知道该怎么做。这是我到目前为止的代码:
def while_version(items):
a = 0
b = len(items)
r_list = []
while (a!=b):
items[a:a] = r_list[(-a)-1]
a+=1
return items
答案 0 :(得分:1)
我想说使while循环像for循环一样。
firstList = [1,2,3]
secondList=[]
counter = len(firstList)-1
while counter >= 0:
secondList.append(firstList[counter])
counter -= 1
答案 1 :(得分:1)
最简单的方法是:
def while_version(items):
new_list = []
while items: # i.e. until it's an empty list
new_list.append(items.pop(-1))
return new_list
这将颠倒列表:
>>> l1 = [1, 2, 3]
>>> l2 = while_version(l)
>>> l2
[3, 2, 1]
但请注意,它也会清空原始列表:
>>> l1
[]
为避免这种情况,请致电,例如l2 = while_version(l1[:])
。
答案 2 :(得分:0)
琐碎的回答
鉴于
a = [1, 2, 3, 4, 5]
然后
a[::-1]
返回
[5, 4, 3, 2, 1]
在您的代码中:
希望这有帮助