Python - 交换列表的连续元素?

时间:2016-10-18 18:43:04

标签: python list python-2.7

我想交换列表的连续元素,以便第一个元素将转到最后一个元素。例如null应打印为[4, 7, 3, 4, 3] 这是我编写的代码,但它不能正常工作。如何修改它以使其正常工作?

[7,3,4,3,4]

我不想只用最后一个元素切换第一个元素。我想进一步修改这个代码来创建一个冒泡排序算法,我只是对如何完成我刚才解释的内容感到困惑。

更新:感谢您应该更改的答案" ls [i] = a"使用" a = ls [i]",但有人可以向我解释这在逻辑方面有何不同?

3 个答案:

答案 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)