扩展vs + =行为

时间:2015-03-25 14:55:35

标签: python

帮助我理解我在以下代码中无法识别的问题。

def extend_a_list(list_var):
    return list_var.extend([6, 2])

def plus_equals_list(list_var):
    list_var += [6]
    return list_var

list_var = [1, 2, 3]
print "Extending"
print extend_a_list(list_var)

list_var = [1, 2, 3]
print "Plus Equals"
print plus_equals_list(list_var)


>>> Extending
>>> None
>>> Plus Equals
>>> [1, 2, 3, 6]

Extend正在提供None。那是为什么?

1 个答案:

答案 0 :(得分:5)

Extend不返回任何内容,它会修改输入的列表:

a = [1,2,3]
# a = [1,2,3]
b = a.extend([4])
# a = [1,2,3,4]
# b = None