私は、次のサンプルコードしている:パイソン - 昇順のリストに注文辞書
hermione 2 2
hermione 5 7
dumbledore 5 12
hermione 3 15
hermione 2 2
hermione 5 7
dumbledore 5 12
hermione 3 15
hermione 2 2
hermione 5 7
dumbledore 5 12
hermione 3 15
['article1.txt', 'article3.txt', 'article2.txt']
そして、私はかなり知らない:
articles = {'article1.txt': {'harry': 3, 'hermione': 2, 'ron': 1},
'article2.txt': {'dumbledore': 5, 'hermione': 3},
'article3.txt': {'harry': 5, 'hermione': 5}}
keywords = ['hermione', 'dumbledore']
def recommend_articles(articles, keywords):
def max_count(key):
result = 0
for names in articles.keys():
for name, count in articles[names].items():
if name in keywords:
result += count
print name, count, result
return result
article_list = sorted(articles.keys(), key=max_count, reverse = True)
print article_list
そして、何の機能から印刷されますですどうしたの。私が取得する必要があります。
>>>recommended_articles(articles, keywords)
['article2.txt', 'article3.txt', 'article1.txt']
しかし、私の機能は一貫して関係なく、私は、キーワードを変更する場合は、['article1.txt', 'article3.txt', 'article2.txt']
を返しません。
助けていただければ幸いです!
@algerbrexありがとう。 'count'は記事[outerkey]内の辞書だったでしょう。外側のキーをループするようにコードを編集しましたが、 'count'が' keywords'で発生することを確認したにもかかわらず、まだ問題にぶつかっています。 – Nikitau
さて、あなたのコードをもう一度見て、私が見つけたいくつかのエラーがさらにあります。 –