gpt4 book ai didi

python - 寻求一种以更有效的方式初始化 dict 的方法

转载 作者:太空宇宙 更新时间:2023-11-03 16:31:08 26 4
gpt4 key购买 nike

prior={}
conditionProb={}
Counts={}

for i in range(len(trainingData)):
label=trainingLabels[i]
prior[label]+=1
datum=trainingData[i]
for j in range(len(datum)):
Counts[(i,j,label)]+=1
if(datum[j]>0):
conditionProb[(i,j,label)]+=1

当我运行这段代码时,它会报告一个关键错误,因为之前没有先初始化,所以值为 0。我可以通过循环初始化这 3 个字典,但似乎放置了太多代码来完成这项工作。所以我正在寻找其他方法来做到这一点,例如覆盖字典中的默认方法?我对 python 不熟悉。任何想法都会受到赞赏。

最佳答案

您可以使用defaultdict将键初始化为0:

from collections import defaultdict

prior = defaultdict(lambda: 0)
conditionProb = defaultdict(lambda: 0)
Counts = defaultdict(lambda: 0)

for i, (label, data) in enumerate(zip(trainingLabels, trainingData)):
prior[label] += 1
for j,datum in enumerate(data):
Counts[i, j, label] += 1
if datum > 0:
conditionProb[i, j, label] += 1

关于python - 寻求一种以更有效的方式初始化 dict 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37588793/

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