我想知道当所有插槽都填入Python字典时会发生什么情况。
根据this Answer,python字典使用开放式寻址,并且它们也用8个插槽初始化。
我猜想在所有8个槽位都填满之后,将创建一个具有更多槽位的新字典,并且所有条目都会重新填充并移到那里
为了对此进行测试,我编写了以下代码:
dict={}
print(id(dict))
dict['A']=1
dict['B']=2
dict['C']=3
dict['D']=4
print(id(dict))
dict['E']=5
dict['F']=6
dict['G']=7
dict['H']=8
print(id(dict))
dict['I']=9
print(id(dict))
但是我看到字典的ID在进入第9个条目后并没有改变:
140055316586712
140055316586712
140055316586712
140055316586712
我正在解释结果吗?由此推断出字典并没有动态增加,但是如果初始化时只有8个插槽怎么办?