Python 中可变和不可变的区别?


Python 定义了各种数据类型的对象。这些对象存储在内存中,对象的可变性取决于类型,例如列表字典是可变的,这意味着我们可以在不改变其身份的情况下更改其内容。其他对象,如整数、浮点数、字符串元组,没有规定更改其为索引分配的值。

列表是可变的:列表就像其他语言中声明的数组。列表不一定是同构的,这使得它成为Python中最强大的工具之一。列表是可变的,因此,即使在创建后也可以更改它们。

示例

#Write a python program to print list of a number?
list=[1,2,3,4,5]
print(list)

输出

[1,2,3,4,5]

列表是一个有序且可更改的集合。允许重复成员。

示例

list=[1,2,3,4,5]
list[0] ='a'
print(list)

输出

['a', 2, 3, 4, 5]

在运行程序时,将基于零的索引赋值为“1”可以赋值为“a”,这是可变的(可以修改)

元组是不可变的:元组是一个有序且不可更改的集合,不允许重复成员。在 Python 中,元组用圆括号 () 括起来,并用逗号分隔。圆括号是可选的,但是,使用它们是一个好习惯。

示例

#Write a python program to print tuple of a number?
Tuple=(10,20,30)
print(tuple)

输出

(10,20,30)

元组是有序且不可更改的(不能修改)。

示例

tuple=(10,20,30)
tuple[0]=50
print(tuple)

输出

TypeError Traceback (most recent call last)
in
1 my_yuple = (10, 20, 30)
----> 2 my_yuple[0] = 50
3 print(my_yuple)

TypeError: 'tuple' object does not support item assignment

在将基于零的索引赋值为“50”时会抛出异常,因为它已分配了值“10”,这是不可变的(不能修改)。

更新于:2023年9月9日

2K+ 浏览量

开启你的职业生涯

通过完成课程获得认证

开始学习
广告