我写了一个简单的代码,在一个列表中交换两个项目,使用非常基本的。
a, b = b, a
代码是这样的:
nums[i], nums[nums[i] - 1] = nums[nums[i] - 1], nums[i]
上述交换的结果是一个无限循环 列表中的项目是重复的 因此交换失败。但是修改成下面的样子就可以了。
nums[nums[i] - 1], nums[i] = nums[i], nums[nums[i] - 1]
是否因为交换变量的顺序而导致交换失败?
如果是,怎么个逻辑法?我到底漏了什么?
def swap(index1, index2, list_):
a, b = list_[index1], list_[index2]
list_[index1], list_[index2] = b, a
return list_
可以使用这样的函数,在这里你可以传递你想交换的项目的列表和列表索引,然后它返回包含交换项目的列表。