Почему мы можем добавлять новые элементы в словарь непосредственно назначая пару ключ-значение, но не делать те же списки: -Присвоение значений несуществующего ключей/индексов в питона словарей/списков
Например :
dictl = {}
dictl['new_key'] = value
print dictl # prints {'new_key: value}
Но
listl = []
listl[0] = value # IndexError: list assignment index out of range