Используя лучшие имена и отпечаток, который вы можете лучше понять
def reverse_list(stuff):
begin = 0
end = len(stuff) - 1
while begin < end:
temp = stuff[begin]
stuff[begin] = stuff[end]
stuff[end] = temp
begin += 1
end -= 1
print(stuff)
Для ввода [1, 2, 3, 4, 5, 6, 7, 8, 9]
вы увидите
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[9, 2, 3, 4, 5, 6, 7, 8, 1] # swap 1 and 9
[9, 8, 3, 4, 5, 6, 7, 2, 1] # swap 2 and 8
[9, 8, 7, 4, 5, 6, 3, 2, 1] # swap 3 and 7
[9, 8, 7, 6, 5, 4, 3, 2, 1] # swap 4 and 6
Суть в том, чтобы получить два индекса
- один начинается в начале и увеличивается:
begin
- один начинается в конце и уменьшается:
end
И каждый раз при свопеиспользуя третью переменную temp
, и 2 на 2 вы будете менять местами все, пока не достигнете середины