gpt4 book ai didi

python - 在python中更新字典的整数值

转载 作者:太空宇宙 更新时间:2023-11-04 09:15:31 25 4
gpt4 key购买 nike

我有一个字典,每个键都有 3 个值,

我想知道如何在传递数据文件时增加 noTaken 和 totalBranch 的值,因为我当前的方法不会更改值,lookup 的输出给我 (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, prediction & totalBranch 在这上面都初始化为0)提前致谢!

最佳答案

更简洁的初始化方法是使用 defaultdict , 然后你可以直接引用字典值中的元素,例如

from collections import defaultdict

lookup = defaultdict(lambda: [0,0,0])

lookup['a'][0] += 1
lookup['b'][1] += 1
lookup['a'][0] += 1

print lookup

输出:

{'a': [2, 0, 0], 'b': [0, 1, 0]}

另请注意,我将值默认为 list 而不是 tuple 以便我们可以就地修改值,tuple 是不可变的可以'被修改

关于python - 在python中更新字典的整数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9897753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com