Как OrderedDict поддерживает порядок в Python
Мне интересно, как OrderedDict из библиотеки коллекций поддерживает порядок ключей / пар? Я посмотрел в Интернете и не смог найти ответ.
1 ответ
Решение
Исходя из исходного кода, он выглядит как dict
с двусвязным списком ключей для заказа, а также другим dict
который сопоставляет ключи с их положением в списке.
- Вставка просто добавляет в конец списка.
- Удаление использует второй запрос, чтобы удалить элемент из списка.
- Итерация перебирает связанный список.