python-确定长度的字典型数组定义
2021-05-13 本文已影响0人
一只孢子
操作
定义一个包含5个空字典的数组
错误的定义方式
list = [{}]*5
错误原因
python中使用乘号复制时,只复制了3个索引,即都指向同一个物理地址,我们在操作其中任何一个时,会同时修改其他内容。

python在用乘号(*)复制时,只会复制索引,不会分配物理地址,在对每个元素赋值时才会分配物理地址,而字典的赋值list[1]['B']=2
直接跳过了对list[1]
的地址分配阶段,因此报错。当我们对list[2]
赋值后,该元素即不受影响。

正确的定义方式
i=0
list=[]
while i<5:
list.append({})
i+=1
