Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.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_List_Python 3.x_While Loop_Reverse - Fatal编程技术网

Python 使用while循环创建逆序列表-意外结果

Python 使用while循环创建逆序列表-意外结果,python,list,python-3.x,while-loop,reverse,Python,List,Python 3.x,While Loop,Reverse,我是一名入门级python课程的学生,我的任务是使用while循环定义“reverse(mylist)” 这就是我到目前为止所做的: def reverse(mylist): a=0 b=len(mylist) xlist=mylist while(a!=b): mylist[a]=xlist[(-a)-1] a+=1 return mylist 假设输入列表是[1,2,3,4,5,6],使用我的反向函数,我将得到输出[6

我是一名入门级python课程的学生,我的任务是使用while循环定义“reverse(mylist)”

这就是我到目前为止所做的:

def reverse(mylist):
    a=0
    b=len(mylist)
    xlist=mylist
    while(a!=b):
        mylist[a]=xlist[(-a)-1]
        a+=1
    return mylist
假设输入列表是[1,2,3,4,5,6],使用我的反向函数,我将得到输出[6,5,4,4,5,6]。。。[1,2,3,4,5]将成为[5,4,3,4,5]


我不确定我在这里做错了什么。

以下语句使
xlist
mylist
引用了相同的列表对象:

xlist = mylist
你需要复制它

xlist = mylist[:]
顺便说一句,使用
for
循环,您不需要手动增加
a

for a in range(len(mylist)):
    ....
列表是通过引用而不是通过值传递的。 您需要创建新列表。 “xlist=mylist”仅创建引用

ps “for in”在python中更常用

for i in range(2, -1, -1):
  xlist.append(mylist[i])

or:

xlist = [mylist[i], for i in range(2, -1, -1) ]

你能修好你的压痕吗?
for i in range(2, -1, -1):
  xlist.append(mylist[i])

or:

xlist = [mylist[i], for i in range(2, -1, -1) ]