Python中元组的用法2-2

3 元组中的元素

3.1 元组中的元素可以是不同类型

相关代码如下所示:

>>> t3 = 1.1, 2, True, "hello"

>>> print(t3)

(1.1, 2, True, 'hello')

其中,元组t3中包含了浮点类型、整数、布尔类型和字符串类型的元素。

3.2 元组中的元素可以是元组、列表、集合和字典

相关代码如下所示:

>>> t4 = 1,2,(3,4,5)

>>> print(t4)

(1, 2, (3, 4, 5))

其中,元组t4中嵌套了一个元组,即将元组作为其元素。

需要注意是的是,当列表等可变类型作为元组的元素时,虽然不能改变直接元组的元素,但是可以改变元组中列表的元素。相关代码如下所示。

>>> t5 = 1,2,[3,4,5]

>>> t5[2][0] = 10

>>> print(t5)

(1, 2, [10, 4, 5])

其中,t5中包含了一个列表,可以通过索引改变列表中元素的值。

3.3 当元组中只有一个元素时

当元组中只有一个元素时,需要在该元素后面加一个逗号,相关代码如下所示:

>>> t6 = (1)

>>> type(t6)

<class 'int'>

>>> t6 = 1,

>>> type(t6)

<class 'tuple'>

从以上代码中可以看出,当元组中只有一个元素时,如果不加逗号,则此时定义的变量类型是int而不是tuple。只有在元组后面加逗号后,定义的变量类型才是tuple。

4 元组的打包与解包

在“1 元组的定义”中提到定义元组时,可以不用圆括号,实际上这就是元组打包的过程,将每个元素打包成元组。打包的逆过程是解包,即把元组中的元素分解为变量,相关代码如下所示。

>>> t1 = 1,2,3

>>> type(t1)

<class 'tuple'>

>>> x,y,z = t1

>>> print(x, y, z)

1 2 3

>>> type(x)

<class 'int'>

其中,元组t1将1,2,3这三个数字打包;之后再将t1进行解包,元素值分别保存到变量x、y和z中。

需要注意的是,元组解包时,用于保存元组元素的变量个数必须与元组元素个数相同,否则代码会报错。

>>> x,y = t1

Traceback (most recent call last):

  File "<pyshell#42>", line 1, in <module>

    x,y = t1

ValueError: too many values to unpack (expected 2)

>>> x,y,z,a = t1

Traceback (most recent call last):

  File "<pyshell#43>", line 1, in <module>

    x,y,z,a = t1

ValueError: not enough values to unpack (expected 4, got 3)

从以上代码中可以看到,于保存元组元素的变量个数不能少于元组元素个数,也不能多于元组元素的个数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值