Этот вопрос похож на Python - Find longest (most words) key in dictionary - но мне нужно чистое количество символов.Найти самый длинный (string) ключ в словаре
Пример ввода:
d = {'group 1': 1, 'group 1000': 0}
Выход:
10
Этот вопрос похож на Python - Find longest (most words) key in dictionary - но мне нужно чистое количество символов.Найти самый длинный (string) ключ в словаре
Пример ввода:
d = {'group 1': 1, 'group 1000': 0}
Выход:
10
Альтернатива, которая так же быстро, как решение @ 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
>>> d = {'group 1': 1, 'group 1000': 0}
>>> len(max(d, key=len))
10
Это решение является самым быстрым, но я предпочитаю решения от @eumiro и @ ms4py, так как они не повторяют функции len
два раза и более питоничны.
«для создания таблицы «? Пожалуйста, объясни. –