tuple 与 list 类似,但 tuple 经初始化后不可变,不能添加、删除、替换元素。
陷阱
定义一个不可变列表:t = (1,2) ,此时若print(t),结果是 (1,2)
定义一个空的 tuple:t = () , 此时若print(t),结果是 ()
定义一个只有1个元素的 tuple :
- t = (1) × 此时若print(t),结果是 1
这定义的不是一个 tuple,是1这个数,因为括号()既可以表示tuple,也可以表示数学公式中的小括号。
这就产生了歧义,因此python规定,这种情况下,按小括号进行计算,计算结果自然是1。
正确方法是:
- t = (1,) √ 此时若print(t),结果是 (1,)
python在显示只有1个元素的tuple时,也会加一个逗号,以免误解。
“可变的” tuple:
tuple的不可变指的是tuple中每个元素的指向永远不变,当tuple中某一元素指向一个list时,list中的元素是可变的
这样就会产生元素内容可变的tuple.