我有一個很大的字典,我必須從中查找很多次的值。我的鍵是整數,但代表標籤,因此不需要添加,減少等等。我最終試圖評估字符串鍵和整數鍵字典之間的訪問時間,這是結果。使用字符串鍵整數鍵字典訪問速度比較
from timeit import Timer
Dint = dict()
Dstr = dict()
for i in range(10000):
Dint[i] = i
Dstr[str(i)] = i
print 'string key in Dint',
print(Timer("'7498' in Dint", "from __main__ import Dint").timeit(100000000))
print 'int key in Dint',
print(Timer("7498 in Dint", "from __main__ import Dint").timeit(100000000))
print 'string key in Dstr',
print(Timer("'7498' in Dstr", "from __main__ import Dstr").timeit(100000000))
print 'int key in Dstr',
print(Timer("7498 in Dstr", "from __main__ import Dstr").timeit(100000000))
產生的微小變化每次運行之間再現:
string key in Dint 4.5552944017
int key in Dint 7.14334390267
string key in Dstr 6.69923791116
int key in Dstr 5.03503126455
是否證明使用詞典與字符串作爲鍵是更快地訪問比用整數作爲鍵?
如果您使用多個鍵,它會更好。 – Marcin