PythonでString型の文字を分解して五十音順に並び替えするオシャレな方法

今回はPythonでString型の文字を分解して五十音順に並び替えするオシャレな方法についてご紹介いたします。

実務で使う機会は少ないかもしれませんが、プロコンなどの際に覚えておくと役に立つのではないでしょうか。



PythonでString型の文字を分解して五十音順に並び替えするオシャレな方法

結論から言うと、
''.join(sorted('変形したい文字'))
とするだけで簡単に実装ができます。

例として「あかさかさかす」という文字を分解して五十音順にしたいとします。
次のソースを用意します。

実行結果は次のようになります。

ものすごく簡単に実装できますね。

なぜこれだけでString型の文字を分解して五十音順に並び替えすることができるのか

なぜ簡単にString型の文字を分解して五十音順に並び替えすることができるのかというと、sortedとjoinという関数の機能を存分に利用しているからです。

sortedに引数としてStringを渡すと、五十音順に分解してリスト型として値を返します。
上記の例では、sortedにString型の「あかさかさかす」という文字を渡すことで
[‘あ’, ‘か’, ‘か’, ‘か’, ‘さ’, ‘さ’, ‘す’]
というlist型が返ってきます。

あとはjoin関数を使ってこれらをくっつけるだけです。
joinは文字列を結合させる関数ですが、空文字を表すシングルクォート二つを使って、
''.join
とすることでlist型の
[‘あ’, ‘か’, ‘か’, ‘か’, ‘さ’, ‘さ’, ‘す’]
を合体させて「あかかかささす」というString型の文字にすることができるのです。

関数二つで難しいことが一気にできるので芸術性を感じますね。

終わりに

今回はPythonでString型の文字を分解して五十音順に並び替えするオシャレな方法についてご紹介いたしました。

【お知らせ】
プログラミングのコンサルタントをすることを考えております。
下記の通り、かなり格安でご用意させていただいております。
【格安】プログラミングコンサル生募集(初心者向け、フリーランス志望向け)

詳しくは下記のリンクをご覧ください。
https://chico-shikaku.com/2020/10/programming-consult-2020/

11月くらいを目処に開始予定です。
最初は募集があれば先着5名くらいを目安に考えております。
質問や意見、問い合わせやお申し込みは下記のリンクよりお願いいたします。
https://docs.google.com/forms/d/e/1FAIpQLSeTXskmlyPAHuhwiOE9togqJPWdhXYCyRoVnFkkbS0VN0Ftug/viewform?usp=sf_link

最後までお読みいただきありがとうございます。
ブログやTwitterでのシェアOKです。
コメントもお待ちしております。
誤植や勘違いなどございましたらコメント欄にて教えていただけると幸いです。






Python

Posted by ちこ