你认为为什么 Python 中的元组是不可变的?


在本文中,我们将讨论为什么 Python 中的元组是不可变的。在继续之前,我们将详细了解元组。

元组

元组是一种属于序列数据类型的数据类型。它们类似于 Python 中的列表,但具有不可变的特性。我们无法更改元组的元素,但可以对它们执行各种操作,例如计数、索引、类型等。

在 Python 中,元组是通过用逗号分隔一系列值来创建的,可以使用或不使用括号进行数据分组。元组可以包含任意数量的元素,以及任何类型的数据(如字符串、整数、列表等)。

示例 1

在下面的示例中,我们将了解如何创建一个元组。

Open Compiler
tuple = ('Tutorialspoint', 'is', 'the', 'best', 'platform', 'to', 'learn', 'new', 'skills') print(tuple)

输出

以上代码产生以下结果

('Tutorialspoint', 'is', 'the', 'best', 'platform', 'to', 'learn', 'new', 'skills')

示例 2

以下示例说明了元组是不可变的。在这里,我们尝试用“Kristen”名称覆盖或替换“Levi”,但由于元组是不可变的,因此我们无法使用索引方法来实现它。

Open Compiler
tuple = ("Meredith", "Levi", "Wright", "Franklin") tuple[1]= "Kristen" print(tuple)

输出

以上代码产生以下结果

File "main.py", line 2, in <module>
tuple[1]= "Kristen"
TypeError: 'tuple' object does not support item assignment

以下是元组不可变的一些重要原因。

  • 维护顺序 - 元组主要在 Python 中定义为表示顺序的方式。例如,当您从数据库中以元组列表的形式检索数据时,所有元组都按照您检索的字段顺序排列。

  • 复制效率 - 您可以为其设置别名(将变量绑定到引用),而不是复制不可变对象。

  • 比较效率 - 使用复制引用时,您可以通过比较位置而不是内容来比较两个变量。

  • 驻留 - 任何不可变的值只需要存储一个副本。在并发程序中,不需要同步对不可变对象的访问。

  • 常量正确性 - 不允许某些值发生更改。

更新于: 2022-09-05

5K+ 次浏览

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告