首页 > 解决方案 > python中的list'+'list和list .extend有什么区别?

问题描述

前任。如果输入“-1 1 3 -2 2”,答案应该是“-1 -2 1 3 2”

def specialsort(numbers):

    list1 = []
    list2 = []
    list = numbers.split(" ")

    for number in list:
        if int(number)<0:
            list1.append(number)
        else:
            list2.append(number)
    result = list1 + list2
    return " ".join(result)

我的问题是:在上面的这个源代码中,当我第一次使用extendlist 函数时result = list1.extend(list2),它原来是一个错误说TypeError: can only join an iterable。当我将它编辑成“result = list1 + list2”时,它终于运行良好了。但是我仍然不明白为什么具有扩展功能的一个不起作用,而另一个却没有问题,因为list1.extend(list2)返回与'list1 + list2'相同的结果。

如果有人知道这个问题,你能解释一下吗?我真的很感激你的回答。谢谢 :)

标签: pythonlistfunction

解决方案


你的代码:

result = list1 + list2

制作一个 list的标签result,而你以前的:

result = list1.extend(list2)

扩展list1的内容list2,所以改变list1,但是,我怀疑result标签会以 . 结尾None


推荐阅读