先看列表:list
直接上代码
l1 = [1, 2, 3]
print(id(l1))
l1 = l1+[4]
print(id(l1))
l1.append([5,6])
print(id(l1))
l1 += [7,8]
print(id(l1))
print(l1)
#结果
140558851599888
140558850678944
140558850678944
140558850678944
[1, 2, 3, 4, [5, 6], 7, 8]
再看看元组:tuple
list可变,而tuple不可变,所以tuple不支持append
t1 = (1, 2, 3)
print(id(t1))
t1 = t1+(4,)
print(id(t1))
t1 += (7,8)
print(id(t1))
print(t1)
#结果
140558851639568
140558850674032
140558929750960
(1, 2, 3, 4, 7, 8)
个人理解:
tuple不可变,所以都要创建一个新对象
list可变,所以apend,+= 操作不需要创建新对象(可以节省内存)