错误:
KeyError: 13
我要做的是创建一个字典,就像这样:
dict {
"a" => {
5 => 15,
6 => 16
},
"b" => {
1 => 15
}
}
def ProcessFile(self, fileName):
fileStream = open(fileName, "rt")
# parse each line of the file
for line in fileStream.readlines():
# tokenize the line
line_tokens = line.split("\t")
distance = self.EditDistance(line_tokens[3], line_tokens[4])
lang = line_tokens[0]
try:
if lang in self.langStatistics:
self.langStatistics[lang][distance]+=1
else:
# if the key has not been used before, create a new dictionary
ERROR ----> self.langStatistics[lang] = defaultdict();
self.langStatistics[lang][distance] = 1
except Exception,e:
print(e)
sys.exit(2)
self.langStatistics
初始化如下:
self.langStatistics = defaultdict(dict);
ProcessFile方法在self.langStatistics[lang] = defaultdict();
处抛出错误
我不知道为什么。如果能帮上忙,我将不胜感激
您已经将} 。但是,您正在尝试用
self.langStatistics
定义为具有dict
值的^{defaultdict
实例化一个键,这与dict
不同您需要使用
self.langStatistics = defaultdict(defaultdict)
或self.langStatistics[lang] = {}
。或者更简单的:不要包含此行,当您第一次尝试访问某个元素时,它会自动完成相关问题 更多 >
编程相关推荐