def swap_numbers(x, x_index):
for num in x:
if x_index < len(x)-1:
x[:] = x[:x_index] + [x[x_index+1]] + [x[x_index]]+ x[x_index+2:]
elif x_index == len(x)-1:
x[:] = [x[-1]] + x[1:-1] + [x[0]]
因此,如果我想改变一个列表,可以说 x = [1,2,3,4,5] 和 x_index = 2 这个函数所做的就是将我们输入的索引号与以下数字交换。
它应该像
>>> x = [1,2,3,4,5]
>>> swap_numbers(x,2)
>>> x
[1,2,4,3,5]
但我的是
>>> x = [1,2,3,4,5]
>>> swap_numbers(x,2)
>>> x
[1,2,3,4,5]
但是,如果我制作功能的第一部分,它会起作用
x[:] = [x[:x_index] + [x[x_index+1]] + [x[x_index]] + x[x_index+2:]]"
然后它会变成
>>> x = [1,2,3,4,5]
>>> swap_numbers(x,2)
>>> x
[[1,2,4,3,5]]
我应该怎么办?