交换两个数字的替代方式

时间:2015-02-11 17:51:44

标签: python struct

是否有更优雅的方式来执行以下任务,例如使用 struct (如在C中)而不是包含2个数字的列表:

def swapnumbers(alist):
    temp = alist[0]
    alist[0] = alist[1]
    alist[1] = temp

alist = [1, 2]

4 个答案:

答案 0 :(得分:3)

您不需要临时变量,只需交换元素:

def swapnumbers(alist):
    alist[0], alist[1] = alist[1], alist[0]

答案 1 :(得分:3)

是。你可以做alist.reverse()list的{​​{3}}方法可以反转元素(适用于任何(正)长度的列表。)

答案 2 :(得分:2)

试试这个

a = [1, 2]
a[0] = a[0] + a[1]
a[1] = a[0] - a[1]
a[0] = a[0] - a[1]

答案 3 :(得分:1)

确定有

>>> a = [1, 2]
>>> a[0],a[1] = a[1],a[0]
>>> a
[2, 1]