只想问一下如何将索引中的列表与其后面的列表交换,如果索引中的列表位于底部,则将其与顶部交换。 因此,索引将使用列表与下一个数字的位置交换位置。例如,Normal = [1,2,3,4],索引1将变为= [1,3,2,4]。使2和3交换位置和3的索引将使[4,2,3,1]
答案 0 :(得分:0)
def swap(lst, swap_index):
try:
next_index = (swap_index + 1) % len(lst)
lst[swap_index], lst[next_index] = lst[next_index], lst[swap_index]
except IndexError:
print "index out of range"
lst = [1,2,3,4]
swap_index = 4
swap(lst,swap_index)
print lst
注意Python中的所有内容都是引用,也就是说,swap
函数交换元素就位
答案 1 :(得分:0)
我把一个快速的函数放在一起,它应该适用于任何值,尽管Hootings的方式可能更好。
def itatchi_swap(x, n):
x_len = len(x)
if not 0 <= n < x_len:
return x
elif n == x_len - 1:
return [x[-1]] + x[1:-1] + [x[0]]
else:
return x[:n] + [x[n+1]] + [x[n]] + x[n+2:]
略微修改以改变列表:
def itatchi_swap(x, n):
x_len = len(x)
if 0 <= n < x_len:
if n == x_len - 1:
v = x[0]
x[0] = x[-1]
x[-1] = v
else:
v = x[n]
x[n] = x[n+1]
x[n+1] = v