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

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 中,元组用圆括号或内括号 () 书写,以逗号分隔。括号是可选的,但使用它们是一种很好的做法。

示例

#编写一个 Python 程序来打印数字的元组?
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"(无法修改)。


相关文章