我想交换列表的连续元素,以便第一个元素将转到最后一个元素。例如null
应打印为[4, 7, 3, 4, 3]
这是我编写的代码,但它不能正常工作。如何修改它以使其正常工作?
[7,3,4,3,4]
我不想只用最后一个元素切换第一个元素。我想进一步修改这个代码来创建一个冒泡排序算法,我只是对如何完成我刚才解释的内容感到困惑。
更新:感谢您应该更改的答案" ls [i] = a"使用" a = ls [i]",但有人可以向我解释这在逻辑方面有何不同?
答案 0 :(得分:3)
您不需要循环将第一个元素移动到最后一个元素。只需弹出列表中的第一个元素,然后附加它。
ls.append(ls.pop(0))
答案 1 :(得分:2)
Python允许通过选择一个或多个元素来处理lists并连接list
ls = [4, 7, 3, 4, 3]
new_list_with_first_element_at_the_end = ls[1:] + [ls[0]]
答案 2 :(得分:1)
如果您确实认为必须,请制作swap
功能:
def swap(l, i, j):
tmp = l[j]
l[j] = i
l[i] = tmp
然后你可以:
for i in range(len(l)-1):
swap(l, i, i+1)