我有这样的字典:
tfDic = {
'/home/seb/Learning/ex17output.txt': {
'COOL': 1,
'FILE': 1,
'FUN': 1,
'HAVE': 1,
'STUFF': 2
}
}
我试图访问' COOL'通过这样做:
def tf(file, word):
return tfDic[file][word]
但我得到了KeyError
。之后我尝试了:
tf = tfDic[file].values()[term]
但我明白了:
TypeError: list indices must be integers, not str
答案 0 :(得分:1)
>>> tfDic = {
... '/home/seb/Learning/ex17output.txt': {
... 'COOL': 1,
... 'FILE': 1,
... 'FUN': 1,
... 'HAVE': 1,
... 'STUFF': 2
... }
... }
>>> def tf(file, word):
... return tfDic[file][word]
...
>>>
>>> tf('/home/seb/Learning/ex17output.txt','COOL')
1
答案 1 :(得分:0)
如果您有KeyError
,则表示您的file
或word
不匹配。打印出值,或在调试器中检查它们。您的词典根本不包含您提供的值。
答案 2 :(得分:0)
我刚认识到一个缺陷,并非所有的子词都有相同的词......
是的,我很愚蠢,试图提供帮助