我是一个入门级python类的学生,我的任务是使用while循环定义“反向(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
我不知道我在这里做了什么错事。
发布于 2014-02-24 08:34:02
以下语句使xlist和mylist都引用相同的list对象:
xlist = mylist你得复制它。
xlist = mylist[:]顺便说一句,使用for循环,您不需要手动增加a:
for a in range(len(mylist)):
....发布于 2014-02-24 10:21:37
def reverse(mylist):
a=0
b=len(mylist)
xlist=[]
while(a!=b):
mylist[a:a]=xlist[(-a)-1]
a+=1
return 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) ]https://stackoverflow.com/questions/21982541
复制相似问题