python元组方法_Python元组(tuple)详解

通过学习,我们知道列表是可以修改的。然而,有时候我们需要创建一组不可以修改其中的元素的列表,例如表示周一到周日的元素应该是固定不变的,这个时候,元组就派上了用场。Python 将不可以修改元素的值的列表称为元组。

元组和列表有两个主要的区别:

首先,元组是不可变的,而列表是可以修改其中的元素的;

其次,元组用圆括号来表示的,而列表是使用方括号来表示的。

Python 创建元组

我们先来创建一个 week 元组,记录从周一到周日的每一天。

>>> week=("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")

>>> print(week)

('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday')

当 week 元组创建后,就不能修改、删除和增加元素了。

我们尝试修改其中的元素,看看结果会怎么样。

>>> print(week[1])

Tuesday

>>> week[1]="Tue"

Traceback (most recent call last):

File "", line 1, in

week[1]="Tue"

TypeError: 'tuple' object does not support item assignment

我们先打印元组中第2个元素,可以看到是 "Tuesday",然后,当我们试图修改它的值的时候,Python 会返回类型错误消息,告诉我们元组类型是不支持数据赋值的。

Python 修改元组变量

虽然不能修改元组中的元素,但是我们可以给存储元组的变量重新赋值。我们还是以 week 元组为例,参见如下的代码:

>>> week=("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")

>>> print(week)

('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday')

>>> week=("Mon","Tue","Wed","Thu","Fri","Sat","Sun")

>>> print(week)

('Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun')

我们先定义了变量 week,然后将一个元组赋值给它,并且将其输出到了屏幕上;接下来,将另一个新的元组重新赋值给了变量 week,并且将其输出到了屏幕上。

这次,Python 不会报错了,因为给变量重新赋值是合法的。并且我们看到,变量 week 的值已经变成了最后赋值给它的那个新的元组。

Python 使用元组

元组也有一些常用的方法,我们来看一下。

获取元组的长度

使用 len() 方法可以获取元组的长度。在下面的示例中,元组 week 包含 7 个元素,因此其长度为 7:

>>> week=("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")

>>> len(week)

7

查找元组中单个元素的索引

要查找元组中单个元素的索引,使用 index() 方法。我们还是以 week 元组为例,要获取其中元素 "Friday" 的索引,代码如下所示。

>>> week=("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")

>>> week.index("Friday")

4

数据类型转换函数 list() 和 tuple()

我们在已经介绍过数据类型转换,可以使用 srt() 函数将非字符串值转换为字符串表示,例如,用 str(8) 将数字 8 转换为字符串 "8"。

与 str() 函数类似,list() 函数和 tuple() 函数可以实现列表和元组之间的类型转换。list() 函数可以将元组转换为列表,而 tuple() 函数可以将列表转换为元组。

例如,我们可以将 week 元组转换为week列表。首先我们将一个元组赋值给变量 week,并将其打印出来,这时可以很清楚地看到,元组的元素是用圆括号括起来的。

>>> week=("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")

>>> print(week)

('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday')

然后,我们使用 list() 函数将元组转换为列表,并将其赋值给变量 week。打印出 week 列表,我们可以清晰地看到,列表的元素是用方括号括起来的。之后,我们尝试将 week 列表的第一个元素修改为 "Mon",可以看到修改成功了,而且 Python 没有报错,因为列表是允许修改其中的元素的。

>>> week=list(week)

>>> print(week)

['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

>>> week[0]="Mon"

还可以使用函数 tuple(),将列表转换为元组,这次我们将已经成为列表的 week 变量转换为元组。

>>> week=tuple(week)

>>> print(week)

('Mon', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday')

当变量 week 从列表转换为元组后,我们就不能够修改其中的元素的值了,否则会报错。

>>> week[0]="Monday"

Traceback (most recent call last):

File "", line 1, in

week[0]="Monday"

TypeError: 'tuple' object does not support item assignment

这里的例子,让我们熟悉了 list() 和 tuple() 函数的用法,也进一步认识到了列表和元组之间的区别。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值