可变和不可变在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]
在运行程序时,可以将基于零的索引赋值为可变的值’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’。