在Python列表中使用.extend和concatenation的不同行为

时间:2015-10-19 02:47:05

标签: python list slice

我在本教程中读到,您可以使用+.extend()方法添加两个列表。除性能问题外,它们会产生相同的结果。

在这种情况下,如果我想使用切片返回列表的第一项和最后四项,为什么.extend()返回None+运算符返回正确以下代码的结果:

# return first and last four items in list
def first_and_last_4(itr):
    first_four = itr[:4]
    print(first_four)
    last_four = itr[-4:]
    print(last_four)
    # return first_four.extend(last_four)
    return first_four + last_four


my_list = list(range(1,50))


print(first_and_last_4(my_list))

1 个答案:

答案 0 :(得分:0)

list.extend修改现有列表。它没有返回任何东西。 list + list会返回一个新列表。

在您的示例中,在致电first_four.extend(last_four)后,您应该返回first_four