python中可变和不可变之间的区别?

Python定义了对象的各种数据类型。这些对象存储在内存中,对象的可变性取决于类型,例如列表和字典是可变的,这意味着我们可以更改其内容而无需更改其标识。其他对象,例如整数,浮点数,字符串和元组,都无法更改为索引分配的值。

List是可变的:List就像数组一样,用其他语言声明。列表不一定总是同质的,这使其成为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元组中,ar用圆括号或圆括号()编写,并用逗号分隔。括号是可选的,但是,使用它们是一个好习惯。

示例

#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',该值是不可变的(无法修改)。