返回切片列表

时间:2015-04-12 00:04:42

标签: python python-3.x

我坚持这个问题:

  

编写一个返回新列表的函数lossy_merge(list_1, list_2)   包含list_1的所有元素,除了最后一个后跟所有元素   除{1}之外的list_2元素。

     

您可以假设两者兼而有之   list_1list_2至少包含一个元素。

例如:

测试以下内容:

ans = lossy_merge([10, 20, 30], [100, 200, 300])

print(ans)  

应该给我:[10, 20, 200, 300]

我目前拥有的功能:

def lossy_merge(list_1, list_2):
    """returns list"""
    list1 = list_1[0:2]
    list2 = list_2[1:3]
    return list1 + list2

但是,当我与其他人一起测试时,给我[10,20,200,300]

ans = lossy_merge([10], ['rhubarb'])

print(ans)

我得到[10]而不是预期的[]

我做错了什么?

抱歉,我是Python 3编程的新手:/

1 个答案:

答案 0 :(得分:2)

将第一个列表切片但不包括最后一个项目,从第二个项目开始切换第二个列表,直到第二个列表的末尾。请记住,最后一项是索引-1,第二项是索引1,因为Python中的计数从零开始。

return list_a[:-1] + list_b[1:]