我在蟒蛇以下功能如何返回輸入參數的值在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