我在蟒蛇以下功能如何返回输入参数的值在for循环中
def find_new_similar(tfidf_matrix2, index, tfidf_matrix, top_n = 1):
cosine_similarities = linear_kernel(tfidf_matrix2[index:index+1], tfidf_matrix).flatten()
related_docs_indices = [i for i in cosine_similarities.argsort()[::-1] if i != index]
return [(index, cosine_similarities[index]) for index in related_docs_indices][0:top_n]
其中一旦调用此我得到的东西,如:
>>> find_new_similar(tfidf_matrix2, 40, tfidf_matrix)
([(260816, 0.55759049663331683)])
这是该指数的related_docs_indices
和cosine_similarities
的结果为索引作为输入给我的功能。我还想返回我传递给函数的初始索引i
。我曾尝试过:
def find_new_similar(tfidf_matrix2, index, tfidf_matrix, top_n = 1):
cosine_similarities = linear_kernel(tfidf_matrix2[index:index+1], tfidf_matrix).flatten()
related_docs_indices = [i for i in cosine_similarities.argsort()[::-1] if i != index]
return [(index, cosine_similarities[index]) for index in related_docs_indices][0:top_n], index
即只是将,index
添加到返回命令的末尾。但这种输出:
>>> find_new_similar(tfidf_matrix2, 40, tfidf_matrix)
([(260816, 0.55759049663331683)], 0)
,但我其实期待
([(260816, 0.55759049663331683)], 40)
在此先感谢
不能重命名为'指数像'因为我在related_docs_indices',不要重复使用的参数名称作为当然的变量 – depperm
。谢谢 – brucezepplin