Bootstrap

Python解包(a, b = b, a)的一个坑

在Python中,交换两个变量的值很方便:

a, b = b, a

同样的,对于列表也简单直接:

a[i], a[j] = a[j], a[i]

至此都很trivial。但是请看下面这个交换:

j = 0
m = [1, 3, 5] 
j, m[j] = m[j], 99

结果违背了(我的)直觉:

print(j)    # 1
print(m)    # [1, 99, 5]
;