1 回答

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊
您尚未描述實(shí)際要求,但我懷疑您想要所有文件的字?jǐn)?shù)統(tǒng)計(jì)。您的使用update()將用包含該單詞的下一個(gè)文件中的計(jì)數(shù)來(lái)替換單詞計(jì)數(shù),并且最終每個(gè)單詞僅從其最后一個(gè)文件中進(jìn)行計(jì)數(shù)。
您需要將當(dāng)前文件中的計(jì)數(shù)添加到字典中已有的值。
for file in filelist:
for key, val in counter(file).items():
master[key] = master.get(key, 0) + val
您也可以在counter()函數(shù)本身中執(zhí)行此操作,而不是返回字典。
def counter(file):
f = open(file, "rt")
words = f.read().split()
words= filter(lambda x: x.isalpha(), words)
for word in words:
master[word] = master.get(word, 0) + 1
if key in master:您可以使用master.get()默認(rèn)值來(lái)代替使用。
添加回答
舉報(bào)