Как OrderedDict поддерживает порядок в Python

Мне интересно, как OrderedDict из библиотеки коллекций поддерживает порядок ключей / пар? Я посмотрел в Интернете и не смог найти ответ.

1 ответ

Решение

Исходя из исходного кода, он выглядит как dict с двусвязным списком ключей для заказа, а также другим dict который сопоставляет ключи с их положением в списке.

  • Вставка просто добавляет в конец списка.
  • Удаление использует второй запрос, чтобы удалить элемент из списка.
  • Итерация перебирает связанный список.
Другие вопросы по тегам