tuple 随笔

简介

tuple 是python内建数据结构之一,它本质上是一个序列,该序列的所有元素都处于一对小括号中,各元素之间又被逗号分隔。书写格式如下:

t = (1,2,3)

代码中的 t 为一个元组,数字 1,2,3 为元组的元素,可以看到元素之间用逗号隔开,且所有元素都在一对小括号中间。

元组元素

tuple 元素的数据类型可以不相同,比如:

t = (1,2,'3')

t[0], t[1], t[2]

代码中的 t[0], t[1]为 int 类型,而 t[2] 为 string 类型

元组打包和序列拆包

元组打包是将一些序列打包成元组的操作,比如:

t = 1,2,3

代码中的 t 是一个由序列1,2,3打包形成的元组,这条语句得到的 t 如下图所示,t 为(1,2,3)。
元组打包

序列拆包与元组打包是互逆的操作,它将元组拆分为序列,比如:

x, y, z = t #接上面的代码,t = (1,2,3)

序列拆包
代码中 x, y, z 分别取得1,2,3,注意:拆包操作要求等号左边的变量数和等号右边元组的元素个数相等

常用情形

当需要处理的情形包含多种类型的数据时一般选择 tuple,tuple 可通过索引或拆包访问。
这里与list做一个比较,list 常用于处理同种类型的数据

怪癖

  • 零个元素

    当元组为空时(元素个数为0),使用一对小括号即可完成赋值。

    empty = ()
    

    empty 是一个空元组,在下图out[6]输出的是empty.__class__的属性,该属性表示empty的类型,所以变量empty的类型为 tuple
    0个元素的元组

  • 一个元素

    当元组只有一个元素时,用一个逗号即可创建该元组,官方的解释是:

    it is not sufficient to enclose a single value in parentheses # 将单个值放在括号中是不够的

    举例:

    t = 'sigleton',
    

    一个元素的元组

元组与列表的比较

  • 区别:tuple元素不可更改 (immutable),list元素 可以更改(mutable)
  • 联系:1. 都是序列的一种;2. tuple中可以包含 list,list中也可以包含tuple
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值