元组的元素是不能改变的,当定义一个tuple时,必须确定tuple的元素.元组没有append(),insert(),pop()这样的方法,因为元素的不可变,元组的安全性比list高,能用元组替代的list尽量用list
# 因为元组的元素是不能改变的,当你定义一个tuple时,必须确定tuple的元素
# 元组没有append(),insert(),pop()这样的方法
classMember = ('zhangsan', 'lisi', 'wangwu')
print('classMember:',classMember)
print ('元组指定位置数据(从始端开始计数)classmates[1]:', classMember[1])
print ('元组指定位置数据(从末端开始计数)classmates[-2]:', classMember[-2])
print ('元组最后一个元素classmates[-1]:', classMember[-1])
print ('元组最后一个元素classmates[len(classmates)-1]:', classMember[len(classMember) - 1])
print ('元组长度:',len(classMember))
# 空元组
N = ()
print('空元组N:',len(N))
# 只有1个元素的tuple定义时必须加一个逗号,否则按照数学计算中的()进行计算
oneNumberTuple = (1,)
print("oneNumberTuple:",oneNumberTuple)
# tuple的元素可以是list,list元素是可变的,表面上是元组变了,
# 但其实变的不是tuple的元素,而是list的元素。
# tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。
# 即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!
oneList = ['muyi','san','liang']
anotherTuple = ('zhangsan','lisi',oneList,'wangwu')
print("改变前:",anotherTuple)
anotherTuple[2][1] = 'shui'
oneList.append(True)
print("改变后:",anotherTuple)
# 元组的元素也可以是元组
testTuple = (1,2,3)
testAnotherTuple = (4,5,testTuple)
print(testAnotherTuple)
print('集合testAnotherTuple[2][1]:', testAnotherTuple[2][1])
print('testTuple[1]:', testTuple[1])
如有不当,望指正!