最近看代码看到两个元组相加的操作,元组难道不是不能修改吗?遂动手尝试了一下。原来python已经帮我们解决了元组相加的问题了。
众所周知,元组是不可以更改的,但是python为了让元组写起来像列表一样方便,可以对元组进行加操作。
直接对比元组和列表的"+"
a=(1,2)
print(a.index)
b=(3,4)
a+=b
print(a.index)
<built-in method index of tuple object at 0x10f0b7300>
<built-in method index of tuple object at 0x10f0d5310>
a=[1,2]
print(a.index)
b=[3,4]
a+=b
print(a.index)
<built-in method index of list object at 0x10f0cb200>
<built-in method index of list object at 0x10f0cb200>
可以看出,实际上元组还是不能修改的,python新建了一个对象a,然后把a+b赋值给a,假装是原地修改了。