下面以一道题为切入点:
下面哪个是python中不变的数据结构?
A.set B.list C.tuple D.dict
答案:tuple
解析:Python中的数据类型包括:
number(包括int,float,bool,complex)、string、tuple、list、dict、set。
不可变类型:number、string、tuple
可变类型:list、dict、set。
理解:
-
不可变类型:
这些类型的数据一旦经过初始化创建成功,对应内存地址上的数据本身不能发生任何变化。
例如,string、tuple、number创建之后,不支持修改。
string:不能通过索引修改字符串中值。
tuple:也是不可变的类型。
如果a = “123”,如果再次对变量进行赋值,那么变量a的地址就会发生变化。即,不是原来的变量。
2.可变类型
这些类型的数据经过初始化创建成功后,对应内存地址上的数据可以发生多次局部变化。
例如,字典,可以通过键对字典的对应的值进行修改。修改之后该字典的内存地址不变。