为什么tuple输出时要用t[0]而不是t()呢?
为什么tuple输出时要用t[0]而不是t()呢?
为什么tuple输出时要用t[0]而不是t()呢?
2018-03-05
#!/usr/bin/env python # -*- coding: utf-8 -*- ''' task.py 由于 t 包含一个list元素,导致tuple的内容是可变的。能否修改上述代码,让tuple内容不可变? ''' t = ('a', 'b', ['A', 'B']) L = t[2] #将list提取出来,重新赋值 # 创建tuple和创建list唯一不同之处是用( )替代了[ ] #获取 tuple 元素的方式和 list 是一模一样的,我们可以正常使用 t[0],t[-1]等索引方式访问元素,但是不能赋值成别的元素 L[0] = ['x'] L[1] = ['y'] print t T = ('a', 'b', ('A', 'B')) S = T[2] # S[0] = ['x'] # S[1] = ['y'] # TypeError: 'tuple' object does not support item assignment # 由于('A', 'B') 是一个元组,元组的特点是元素指向不可变 print T
举报