在Python字典中填充所有槽时会发生什么?

2024-03-29 07:34:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道当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个槽怎么办?你知道吗


Tags: 代码answerid字典动态条目thisdict