如何解决我的代码,因此它逆转我的列表中的元素?

问题描述 投票:-2回答:4

我试图创建自己的逆转。这里是我的代码:

X = [1,2,3,4,5]

def reverZe(Lis):
    nlst = []
    for i in range (1,len(Lis)+1):
        nlst.append(Lis[-1])
    return nlst

new = reverZe(X)

print(new)

结果应该扭转名单“X”成是[5,4,3,2,1]列表

问题是,输出保持回来了,只在最后一个元素5是[5,5,5,5,5]。我该如何解决?

python
4个回答
2
投票

NLST =李氏[:: - 1],这是在切片蟒列表的概念。

X = [1,2,3,4,5]

def reverZe(Lis):
  nlst = Lis[::-1]
  return nlst

new = reverZe(X)

print(new)

上述程序的输出将是[5,4,3,2,1]


0
投票

您已经使用Lis[-1]总是访问列表的最后一个元素,因此只返回。

使用这个代替Lis[-i]

def reverseInPlace(Lis):
    nlst = []
    for i in range (1,len(Lis)+1):
        nlst.append(Lis[-i])
    return nlst

这应该工作。


0
投票

只需使用简单的Python的名单切片:

In [1]: l = [1, 2, 3, 4, 5]

In [2]: l[::-1]
Out[2]: [5, 4, 3, 2, 1]

说明:切片有三个参数:start:stop:step。所以,在这里从0开始,它会走到最后,但与-1增量。其结果是,它会做一个反向循环,从开始到结束。


0
投票

下面是一些可以遵循的过程:

X = [1, 2, 3, 4, 5]

# corrected version of your code
def reverZe(Lis):
    nlst = []
    for i in range(1, len(Lis)+1):
        nlst.append(Lis[-i])
    return nlst

#Some other processes you can follow:

# def reverZe(Lis):
#     nlst = []
#     for i in Lis[::-1]:
#         nlst.append(i)
#     return nlst

# def reverZe(Lis):
#     nlst = list(reversed(Lis))
#     return nlst

# def reverZe(Lis):
#   nlst = Lis[::-1]
#   return nlst


new = reverZe(X)

print(new)
© www.soinside.com 2019 - 2024. All rights reserved.