关注
找到一份通过的代码,你们看看 #!/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
相关推荐
查看21道真题和解析 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 哪些公司开春招了? #
41870次浏览 233人参与
# 关于提前批我想问 #
279059次浏览 2345人参与
# 小厂一定不能去吗? #
3274次浏览 57人参与
# 如果没找到工作,考公是你的退路吗 #
64863次浏览 454人参与
# 哪些公司开暑期实习了? #
1252次浏览 14人参与
# 实习心态崩了 #
105892次浏览 537人参与
# 为了秋招你都做了哪些准备? #
33294次浏览 539人参与
# 通信/硬件求职避坑tips #
143765次浏览 1092人参与
# 计算机专业还有必要去大厂卷吗 #
57164次浏览 232人参与
# 牛友的志愿填报指南 #
54424次浏览 388人参与
# 秋招笔试记录 #
367140次浏览 2103人参与
# 应届生,你找到工作了吗 #
117047次浏览 715人参与
# 通信硬件薪资爆料 #
1241872次浏览 7220人参与
# 我的求职精神状态 #
436557次浏览 3110人参与
# 业务面应该做哪些准备 #
98800次浏览 1106人参与
# 如果再来一次,你还会学硬件吗 #
156252次浏览 1471人参与
# 23届的你们都什么时候入职? #
238268次浏览 1124人参与
# 机械制造薪资爆料 #
1947364次浏览 11048人参与
# 你找工作的时候用AI吗? #
183481次浏览 934人参与
# 一人推荐一个机械人值得去的公司 #
473830次浏览 4288人参与
