Я нахожу, что если я инициализирую пустой словарь в начале, а затем добавляя элементы в словарь в цикле for (около 110 000 ключей, значение для каждой клавиши - это список, также увеличиваемый в цикле), скорость падает, поскольку цикл продолжается.
Я подозреваю, что проблема в том, что словарь не знает количества ключей во время init, и он не делает что-то очень умное, поэтому, возможно, столкновение с хранилищем становится довольно часто, и оно замедляется.
Если я знаю количество ключей и именно то, что есть эти ключи, есть ли способ в python, чтобы сделать dict (или хэш-таблицу) более эффективным? Я смутно помню, что, если вы знаете ключи, вы можете хорошо спланировать хэш-функцию (идеальный хеш?) И заранее выделить пространство.