Мне было интересно, что происходит, когда все слоты заполняются в словаре Python.
Согласно этому ответу , словари 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))
, но я вижу, что идентификатор словаря не меняется после того, как мы перейдем к 9-й записи:
140055316586712
140055316586712
140055316586712
140055316586712
Я правильно интерпретирую результаты?Из этого я бы сделал вывод, что словарь не увеличивается динамически, но как, если у нас только 8 слотов при инициализации?