2

文字、単語、およびそれらの相対頻度などに関するあらゆる種類の統計を含むPythonクラスの非常に単純な宿題をやっています。現在、テキストの文字列を分析し、すべての一意の単語のリストを取得しようとしていますテキストの後に使用回数が続きます。これは入門コースであり、次のコードしか思い浮かびませんでした。

for k in (""",.’?/!":;«»"""):
    text=text.replace(k,"")
text=text.split()
list1=[(text.count(text[n]),text[n]) for n in range(0,len(text))]
for item in sorted(list1, reverse=True):
    print("%s : %s" % (item[1], item[0]))

残念ながら、これはテキストの個々の単語を(出現順に)出力し、その後にその頻度を n, n 回出力します。明らかに、これは非常に役に立たないので、私が既に書いたものに気の利いた小さなコードを追加して、各単語がこのリストに一度だけ表示され、最終的には降順で表示されるようにすることができるかどうか疑問に思っています. 私が見たこのような他のすべての質問は、私たちが学んでいない多くのコードを使用しているため、答えは比較的単純であるべきだと思います.

4

1 に答える 1

6

をご覧くださいcollections.Counter。これを使用して単語の頻度を数えることができ、メソッドを使用してソートされた順序でリストを印刷するのに役立ちますmost_common

(これは宿題の質問であるため、サンプルコードはありません。自分で作業する必要があります)。

于 2012-06-11T10:43:32.863 に答える