从元素本身生成索引的Python交换数组不起作用

以下python swap不起作用,问题是为什么!

nums[i],nums[nums[i]-1] = nums[nums[i]-1],nums[i]

qinhao8438 回答:从元素本身生成索引的Python交换数组不起作用

这里是一个示例来说明为什么该语句不起作用。

>>> nums=[3,2,3,4,6,5]
>>> i=4
>>> nums[i],nums[nums[i]-1] = nums[nums[i]-1],nums[i]
>>> nums
[3,5]

当我为4时,交换的右边变成元组(5,6),它首先将5分配给nums [4],然后nums [nums [i] -1]实际上是nums [5- 1],返回到nums [4],并分配了值6。

所有分配都发生在索引4上,因此根本没有交换发生。

本文链接:https://www.f2er.com/3025449.html

大家都在问