python内置列表:tuple

博客介绍了Python中tuple的特性与使用陷阱。tuple初始化后不可变,但定义只有1个元素的tuple时易产生歧义,如t = (1)定义的不是tuple,正确写法是t = (1,)。此外,当tuple元素指向list时,会出现元素内容可变的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值