可变类型与不可变类型
-
不可变类型, 内存中的数据不允许被修改
-
数字类型:
int
bool
float
complex
long
-
字符串
str
-
元祖
tuple
-
-
可变数据类型, 内存中的数据可以被修改
- 列表
list
- 字典
dict
,dict 的key只能用不可变类型(可hash) - list 和dict 使用方法修改值其ID不变
- 列表
# 拷贝一个list 并让其ID不同,如果直接 b = a 则其ID相同
a = [1,2,3]
b = []
for i in a:
b.append(i)
print(id(a),id(b)) # 2889876398408 2889876477896
# 拷贝一个dict 并让其ID不同,如果直接 b = a 则其ID相同
a = {"name" : "sjc","age":18}
b = {}
for k,v in a.items():
b[k] = v
print(id(a),id(b)) # 2025150434328 2025150434400