Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
解释python while循环如何返回列表中元素的相反顺序_Python_Loops_While Loop - Fatal编程技术网

解释python while循环如何返回列表中元素的相反顺序

解释python while循环如何返回列表中元素的相反顺序,python,loops,while-loop,Python,Loops,While Loop,有人能给我解释一下这个python循环是如何输出列表中元素的相反顺序的吗?这是学校作业的一部分,我不太明白这是怎么回事 我知道这是一种更难获得列表反向顺序的方法,但我们不允许使用反向功能,而且我似乎无法让列表拼接通过自动加载器 def reverse_list(stuff): '''Function that reverses the order of elements in a list''' i = 0 n = len(stuff)-1 while i<

有人能给我解释一下这个python循环是如何输出列表中元素的相反顺序的吗?这是学校作业的一部分,我不太明白这是怎么回事

我知道这是一种更难获得列表反向顺序的方法,但我们不允许使用反向功能,而且我似乎无法让列表拼接通过自动加载器

def reverse_list(stuff):
    '''Function that reverses the order of elements in a list'''
    i = 0
    n = len(stuff)-1
    while i<n:
        temp = stuff[i]
        stuff[i] = stuff[n]
        stuff[n] = temp
        i+=1
        n-=1
#test
stuff = [1,2,3,4]
reverse_list(stuff)
print(list) #Output [4,3,2,1]
def reverse_列表(内容):
''反转列表中元素顺序的函数''
i=0
n=len(stuff)-1

而我用的是更好的名字和你更能理解的文字

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)
方法是,获取两个索引

  • 一个从开头开始并递增:
    begin
  • 一端开始,一端递减:
    end

每次交换时,使用第三个变量
temp
,2乘2,你将交换所有变量,直到到达中间值,这是不必要的<代码>填充[i],填充[n]=填充[n],填充[i]
[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