在sorted()中的Python lambda函数

时间:2018-06-29 09:33:44

标签: python dictionary

此启动代码为我提供了与主题相关的5个最相关的文档。 most_relevant_docs =排序(bow_corpus,reverse = True,key = lambda doc:abs(dict(doc).get(topic_number,0.0))) 打印most_relevant_docs [:5] 但是由于该语料库无法被人类读取,因此我想将索引压缩到该语料库中,以便可以恢复相关文档。 corpus_ids = range(0,len(corpus)) most_relevant_docs = sorted(zip(corpus_ids,bow_corpus),reverse = True,key = lambda my_id,doc:abs(dict(doc).get(topic_number,0.0))) 打印most_relevant_docs [:5] 我必须在哪里适应lambda函数,以便它返回ID和文档?

1 个答案:

答案 0 :(得分:2)

尝试一下

sortingFunc = lambda doc: abs(dict(doc).get(topic_number, 0.0))
corpus_ids = range(0,len(corpus))
most_relevant_docs = sorted(zip(corpus_ids, bow_corpus), reverse=True, key=lambda pair: sortingFunc(pair[1]))

当您压缩它时,每个元素都变得像(index, value),因此原始排序键将不起作用。您需要对其进行修改,以便按值(而不是货币对)进行排序