以相反的顺序列出python

时间:2018-02-06 08:54:59

标签: python list reverse

如何修复此代码以获得与序列s相反的列表?

def reverse(s):
    """Return a list that is the reverse of sequence s.

    >>> reverse([1,2,3])
    [3, 2, 1]
    """
    rs = []
    for element in s:
        rs = s + rs
    return rs

2 个答案:

答案 0 :(得分:0)

我实际上是这样做的(我假设你不能使用reversed())。这使用切片表示法来反转列表。

def reverse(s): 
    return s[::-1]

我还假设你需要将它包装在一个函数中,你可以单独使用索引表示法。

编辑:

以下是[::-1]操作的一些解释:

切片表示法的格式为[start_point:end_point:step]

未指定start_point,这将成为列表的长度,因此操作最后开始。

end_point也未指定,此变为-1,因此操作将在开始时结束。

step-1,因此它将以1为步长向后迭代(即列表的每个元素)。

这将创建原始列表的浅表副本。这意味着您传递到reverse(s)的列表将保持不变。

澄清的例子:

>>> x = [1, 2, 3]
>>> y = x[::-1]
>>> x
[1, 2, 3]
>>> y
[3, 2, 1]

答案 1 :(得分:0)

传递给函数的参数是类型列表。

def reverse(s):
    return s[::-1]