많은 시간 값을 찾아야하는 큰 사전이 있습니다. 내 키는 정수이지만 레이블을 나타내므로 더하기, 빼기 등을 할 필요가 없습니다. 문자열 키와 정수 키 사전 사이의 액세스 시간을 평가하려고했지만 결과는 여기에 있습니다. 사전은 문자열 키에 대한 정수 키와의 속도 비교를 수행합니다.
string key in Dint 4.5552944017
int key in Dint 7.14334390267
string key in Dstr 6.69923791116
int key in Dstr 5.03503126455
그것이 문자열 사전을 사용하는 키는 키와 정수보다 액세스 빠른으로 증명합니까 : 실행 때마다 재현 사이에 약간의 변형을 생산
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))
?
두 개 이상의 키를 사용하면 훨씬 좋을 것입니다. – Marcin