英語の文章
解き方
与えられた文字列を単語に分割し、最も出現頻度が高い単語と、最も文字数が多い単語を見つける。
コードの説明
出現頻度はcollectionsのCounter、文字数については組み込み関数のmax()
を使う。どちらも標準で入っている。
input()
で入力を受け取り、split()
で文字列を空白区切りで単語を分割し、リストにする。リストの中身は単語の集まりになっており、これをCounterに渡すと自動的にリストにある単語をkey
、出現頻度をvalue
とした、辞書を作成してくれる。most_common()
を使うことにより、出現頻度が高い順にソートした辞書を返してくれる。ここではmost_common()
に1を渡して最も出現頻度が高い単語を手に入れる。
文字数の長さについてはmax()
のkeyに長さを表すlen
を渡して、リストにある単語のなかで最も長い単語を手に入れている。
ソースコード
pythonでの実装
別解
他の人の解答を見ていたらもっとスマートな方法があったので紹介しておきます。
関連リンク
2. 組み込み関数 — Python 3.6.5 ドキュメント
8.3. collections — コンテナデータ型 — Python 3.6.5 ドキュメント