【发布时间】:2018-07-05 19:58:31
【问题描述】:
在这里,我想借助索引交换给定列表中的 4 和 2,因此我编写了以下代码。
>>>arr = [4,3,1,2]
>>> arr[0] , arr[arr[0]-1] = arr[arr[0]-1] ,arr[0]
>>> arr
[2, 4, 1, 2]
如您所见,上面的代码给出了意外的输出。预期的输出是 [2,3,1,4]。
但是当我写作时
>>>arr = [4,3,1,2]
>>>index = arr[0] - 1
>>>arr[0] , arr[index] = arr[index] ,arr[0]
>>>arr
[2, 3, 1, 4]
输出符合预期。
这是为什么呢?
编辑: 是的,还有其他方法可以交换第一个和最后一个元素。我不得不选择这种方法,之后我遇到了这种异常行为。我还没有找到任何解释
【问题讨论】:
标签: python-3.x swap