在python中使用列表的时候大家经常会需要向一个列表中添加一个元素,像下面这两种使用方法需要注意:
t = [1, 2, 3]
t1 = t.append([4])
t2 = t + [4]
以上两种使用方式是有区别的,我们来看看实际运行的效果:
>>> t = [1, 2, 3]
>>> t1 = t.append([4])
>>> t
[1, 2, 3, [4]]
>>> t1
>>>
>>> t2 = t + [4]
>>> t2
[1, 2, 3, [4], 4]
>>> t
[1, 2, 3, [4]]
可以看到使用t.append([4])后,实际是在t这个列表中增加,而非我们预期的在t1中增加,并且此时t1为None。
而使用t2 = t + [4]后,t2是在原用t1的基础上再增加一个元素4,而实际列表t中元素无变化。
结论:
使用append实际是修改一个列表,使用+实际是创建一个新的列表。