Я работаю над заданием Python для класса, который я беру, и я просто не могу понять, как пройти мимо этой ошибки KeyError. Я пытаюсь использовать оператор del для словарей в python, вот мой код:
from timeit import Timer
def build_dict(n): # build dict = { 0:"0", 1:"1", 2:"2", ... n:"n" }
return {i : str(i) for i in range(n)}
def dictionaryx(x,n):
del x[0]
del x[n//2]
del x[n-1]
timeDict = Timer(
"dictionaryx(x,n)",
"from __main__ import n,build_dict,dictionaryx; x = build_dict(n)")
for size in range(1000, 100000+1, 5000):
n = size
dict_secs = timeDict.repeat(5,5)
print(n, "\t", min(dict_secs))
Каждый раз, когда я пытаюсь запустить этот код, я получаю следующую ошибку
Трассировка (последний последний вызов): файл «/Users/mcastro/PycharmProjects/untitled1/testdel.py», строка 21, в dict_secs = timeDict.repeat(5,5) File «/Library/Frameworks/Python.framework/Versions /3.5/lib/python3.5/timeit.py", строка 206, повторяется t = self.timeit(number) File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/timeit. py", строка 178, в timeit time = self.inner(it, self.timer) File "", строка 6, во внутреннем файле "/Users/mcastro/PycharmProjects/untitled1/testdel.py", строка 10, в словареx дель х [0] KeyError: 0
Я не могу понять, почему я получаю эту ошибку или как ее исправить, насколько я понимаю, ключи, на которые ссылаются ошибки, присутствуют, но не могут быть удалены? Любая помощь приветствуется