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