私が取っているクラスのpython割り当てに取り組んでいますが、このKeyErrorを乗り越える方法がわかりません。Python の辞書で del 演算子を使用するタイミングを計ろうとしています。ここに私のコードを示します。
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) ファイル "/Library/Frameworks/Python.framework/Versions /3.5/lib/python3.5/timeit.py"、206 行目、繰り返し t = self.timeit(number) ファイル "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/timeit. py"、178 行目、timeit timing = self.inner(it, self.timer) ファイル ""、6 行目、内部ファイル "/Users/mcastro/PycharmProjects/untitled1/testdel.py"、10 行目、dictionaryx 内デル x[0] KeyError: 0
エラーが参照しているキーが存在するが削除できないことを理解している限り、このエラーが発生する理由や修正方法がわかりませんか? どんな助けでも大歓迎です