我正在尝试交换列表中的 2 个元素。我想将索引 0 处的元素交换为索引 arr[0] 处的元素,所以基本上我想交换 arr[0] <-> arr[arr[0]]。
我一直使用这种方法在索引 i 和 j 之间交换元素:
arr[i], arr[j] = arr[j], arr[i]
但在这种情况下它似乎不起作用。如果我做:
arr = [1, 2, 3, 4, 5]
arr[0], arr[arr[0]] = arr[arr[0]], arr[0]
print(arr)
[2, 2, 1, 4, 5]
但我希望:
arr = [1, 2, 3, 4, 5]
tmp = arr[arr[0]]
arr[arr[0]] = arr[0]
arr[0] = tmp
print(arr)
[2, 1, 3, 4, 5]
有人可以解释这种行为吗?