交换python

时间:2015-11-15 04:54:33

标签: python list swap

我刚开始学习python,我试图找出如何交换列表的两个部分。假设我有清单

list=["apple","orange","car","bob","jack","peach"]

我想在" car"之前交换元素。在" bob"之后的元素所以结果将是

["jack","peach","car","bob","apple","orange"]

这是我尝试过的,但它不起作用:

def swap(list)
  firstpart=list[:list.index("car")]
  secondpart=list[list.index("bob"):]
  middlepart=list[list.index("car"):list.index("bob")]
  secondpart+middlepart+firstpart

但它没有改变列表,我也不想使用return

1 个答案:

答案 0 :(得分:2)

您应该将合并结果重新分配给lst。请注意,在切片中,第一个索引是包含的,第二个索引是独占的。

def swap(lst):
    firstpart=lst[:lst.index("car")]
    secondpart=lst[lst.index("bob")+1:]
    middlepart=lst[lst.index("car"):lst.index("bob")+1]
    return firstpart + middlepart + secondpart