Я создаю симулятор кэша, у меня есть словарь с 3 значений, связанных с каждым ключом,Обновления целочисленных значений словаря в Python
Я хочу знать, как приращение значения noTaken & totalBranch, как я прохожу через файл данных, так как мой текущий метод не меняет значения, результат поиска дает мне (1,1,0) или (0,1,0) - мне нужны первые два значения для увеличения
for line in datafile.readlines():
items = line.split(' ')
instruction = items[1]
if lookup.has_key(instruction):
if (taken == 1):
lookup[instruction] = (noTaken + 1, totalBranch + 1, prediction)
else:
lookup[instruction] = (noTaken, totalBranch + 1, prediction)
else:
if (taken == 1):
lookup[instruction] = (1, 1, prediction)
else:
lookup[instruction] = (0, 1, prediction)
(noTaken, предсказание & totalBranch все инициализировано как 0 над этим) Заранее спасибо!
Примечания что OP использует кортежи, а не списки, может быть, вы можете указать это в своем ответе? –
@JoelCornett, спасибо, что. –
+1, поскольку 'defaultdict' является решением всех вопросов python (да, даже тот, тише!) – SingleNegationElimination