Python交换列表中的相邻元素(语法错误)

Python swap adjacent elements in a list (Syntax Error)

本问题已经有最佳答案,请猛点这里访问。

这是我的名单:

1
 l = [0, 1, 2, 3, 4, 5]

我想交换相邻的元素,因此列表将导致:

1
l = [1, 0, 3, 2, 5, 4]

我知道有很多解决办法,我想我找到了一个:

1
2
def swap(l):
    return l[::2], l[1::2] = l[1::2], l[::2]

不管怎样,我仍然得到这个错误:

1
2
3
4
file.py on line 2
    return l[::2], l[1::2] = l[1::2], l[::2]
                           ^
SyntaxError: invalid syntax

对于如何解决这一问题的任何提示或想法,我们都非常感谢。(在Python2上工作)


拆卸return

1
2
def swap(l):
    l[0], l[1] = l[1], l[0]

只能返回表达式,不能返回完整语句。

有关差异的解释,请参见此处。


你的代码应该是

1
2
def swap(l):
    l[0], l[1] = l[1], l[0]