Найти самый длинный (строковый) ключ в словаре

Этот вопрос похож наPython - найти самый длинный (большинство слов) ключ в словаре - но мне нужно чистое количество символов.

Пример ввода:

d = {'group 1': 1, 'group 1000': 0}

Выход:

10
 Karl Knechtel05 июн. 2012 г., 12:42
"чтобы построить стол"? Пожалуйста, объясни

Ответы на вопрос(3)

Решение Вопроса

которая так же быстро, как решение @ jamylak и более питонна:

from itertools import imap
max(imap(len, d))

Смотри сравнение:

$ python -m timeit -s "d = {'group 1': 1, 'group 1000': 0}" "len(max(d,key=len))"
1000000 loops, best of 3: 0.538 usec per loop

$ python -m timeit -s "d = {'group 1': 1, 'group 1000': 0}" "max(len(x) for x in d)"
1000000 loops, best of 3: 0.7 usec per loop

$ python -m timeit -s "d = {'group 1': 1, 'group 1000': 0}; from itertools import imap" \
  "max(imap(len, d))"
1000000 loops, best of 3: 0.557 usec per loop
 beruic12 дек. 2017 г., 10:34
Кажется, я не могу найти документацию для imap в itertools. Эта информация устарела?
 jamylak05 июн. 2012 г., 13:20
+ 1 Я согласен, что это путь. Примечание для пользователей Python 3:map являетсяimap в Python 3.
>>> max(len(x) for x in d)

ил

>>> max(map(len, d))
 jamylak05 июн. 2012 г., 12:35
@ eumiro Хорошо, тогда я оставлю это здесь, но это лучший ответ.
 eumiro05 июн. 2012 г., 12:34
@ jamylak - и ваш словарь из двух элементов медленнее, чем ваше решение…
 Gandaro05 июн. 2012 г., 12:35
@ jamylak Однако, ваше решение быстрее.
>>> d = {'group 1': 1, 'group 1000': 0}
>>> len(max(d, key=len))
10

но я предпочитаю решения @eumiro и @ ms4py, поскольку они не повторяютlen функционируют дважды и более питон

Ваш ответ на вопрос