如何修复此代码以获得与序列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
答案 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]