为什么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举报