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"(无法修改)。