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


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

元组

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

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

示例1

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

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

输出

上述代码产生以下结果

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

示例2

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

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年9月5日

5K+ 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.