Я понимаю, что словари - это вставка, упорядоченная в Python 3. 6+, как деталь реализации в 3.6 и официальная в 3. 7+.
Учитывая, что они упорядочены, кажется странным, что нет методов для извлечения i- го элемента словаря по порядку вставки. Доступны только доступные решения: O (n) сложность:
- Преобразуйте в список через O (n) процесс, а затем используйте
list.__getitem__
. -
enumerate
словарные позиции в цикле и вернуть значение, когда достигнут желаемый индекс. Опять же, с O (n) временной сложностью.
Поскольку получение элемента из list
имеет сложность O (1), существует ли способ достижения такой же сложности со словарями? Либо с обычным dict
или collections.OrderedDict
будет работать.
Если это невозможно, существует ли структурная причина, препятствующая такому методу, или это просто функция, которая еще не была рассмотрена/реализована?