一、list和tuple差别
list内元素可变,而tuple内元素不可变;
aList = ['jack',27,'master',['java','lua','python']]
aList[0] = 'willy'
print aList
aTuple = ('jack',27,'master',['java','lua','python'])
#aTuple[0] = 'willy'
aTuple[3][0] = 'c++'
print aTuple
上面注释的部分,会报错
TypeError: 'tuple' object does not support item assignment
表面上看,aTuple中的第四个元素发生了变化。但实际上是list内的元素发生了变化,而其第四个元素,在内存中的地址是没有变化的。
二、对象拷贝、浅拷贝、深拷贝
#打印输出
def printResult(aData,bData):
print 'aData内存地址:',id(aData)
print 'bData内存地址:',id(bData)
print 'aData元素地址:',[id(elem) for elem in aData]
print 'bData元素地址:',[id(elem) for elem in bData]
print