列表+和append操作都是列表添加元素的操作
+是列表添加新的元素后生成一个新的列表,返回新的列表,原的列表不变
l1=[2,3,4,5]
l2=l1+[6]
print(l2)
print(l1)
结果:
[2, 3, 4, 5, 6]
[2, 3, 4, 5]
append是直接在原列表上添加新的元素,不生成新的列表,所以返回值为None
l1=[2,3,4,5]
l3=l1.append(7)
print(l1)
print(l3)
结果:
[2, 3, 4, 5, 7]
None
列表推导式中使用+和append的区别
比如有个二维列表,要将每个子列表元素增加一个新的元素,使用列表推导式来完成。
二维列表:temp=[[1,2,3],[4,5,6]],要增加的元素是8
1,使用append来给子列表元素添加新的元素
temp=[[1,2,3],[4,5,6]]
temp2=[e.append(8) for e in temp]
print(temp2)
print(temp)
打印的结果是:
[None, None]
[[1, 2, 3, 8], [4, 5, 6, 8]]
append返回值是None,原列表temp改变元素(每个子列表元素+元素8)
2,再看看使用+号来添加元素
temp=[[1,2,3],[4,5,6]]
temp3=[e+[9] for e in temp]
print(temp3)
print(temp)
打印结果:
[[1, 2, 3, 9], [4, 5, 6, 9]]
[[1, 2, 3], [4, 5, 6]]
返回增添了元素后的新的列表,原列表不改变