此問題與Python - Find longest (most words) key in dictionary類似 - 但我需要純字符數。查找字典中的最長(字符串)鍵
例輸入:
d = {'group 1': 1, 'group 1000': 0}
輸出:
10
此問題與Python - Find longest (most words) key in dictionary類似 - 但我需要純字符數。查找字典中的最長(字符串)鍵
例輸入:
d = {'group 1': 1, 'group 1000': 0}
輸出:
10
替代,這是一樣快@ jamylak的解決方案和更Python:
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
功能兩次,更pythonic imo。
「建立一個表「?請解釋。 –