Получить последний ключ в словаре Python
📁 словарь, python
Есть словарь:
dicId = {1: [3, 4], 2: [5, 6, 3], 3: [7, 1, 9, 2]}Нужно получить последний ключ в этом словаре.
dicId.keys() // возвращает набор ключейКак из них выбрать последний?
Чтобы последний элемент из произвольной коллекции получить, :
>>> d = {'a':1, 'b':2}>>> import collections>>> [last] = collections.deque(d, maxlen=1)>>> last'b'Это O(n) по времени, O(1) в памяти алгоритм. Для сравнения: list(d)[-1] требует O(n) памяти.
До Питон 3.7, ключи в словаре не упорядочены, поэтому понятие ""последний"" смысла не имело, если не использовать что-то вроде collections.OrderedDict вместо dict:
>>> from collections import OrderedDict>>> d = OrderedDict(a=1, b=2) # Python 3.6 kwargs order>>> last = next(reversed(d))>>> last'b'Это оптимальный O(1) по времени и памяти алгоритм. Возможно в будущем этот код будет работать и для встроенного dict:
Войдите чтобы оставить ответ
Блоги
Деплой TypeScript приложения на VPS: пошаговое руководство