交换 python 中列表的子列表

swaping sublists of a list in python

我刚开始学习 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

您应该将合并结果重新分配给 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