找到一份通过的代码,你们看看 #!/usr/bin/env python import math import random import sys class Solution2(object):     def tfidf(self, line, idf):         tf = {}         tfidf = []         data = []         words = line.split(",")         length = len(words)         for word in words:             tf[word] = tf.get(word, 0) + 1 / length         for word in words:             tfidf.append(str(round(tf.get(word) * idf.get(word), 2)))             data.append("tf:%s,idf:%s" % (tf.get(word), idf.get(word)))         return (tfidf)     def getWordDocs(self, docs):         N = len(docs)         idf = {}         for doc in docs:             words = set(doc.split(","))             for word in words:                 idf[word] = idf.get(word, 0) + 1         for (k, v) in idf.items():             idf[k] = round(math.log(N / v, 2), 2)         return idf if __name__ == "__main__":     solution2 = Solution2()     n = int(sys.stdin.readline().strip())     dd = []     for i in range(0, n):         dd.append(sys.stdin.readline().strip())     idf = solution2.getWordDocs(dd)     for item in dd:         tfidf = solution2.tfidf(item, idf)         print(",".join(tfidf))
点赞 3

相关推荐

11-06 16:50
门头沟学院 Java
用微笑面对困难:word打字比赛二等奖的我,也要来凑合凑合
点赞 评论 收藏
分享
爱吃烤肠的牛油最喜欢...:50K是ssp了估计,ssp的人家多厉害都不用说,每年比例大概在百分之5左右
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务