2025.10.08(更新日: 2025.10.08)
sorted関数で、アナグラム判定

はじめに
アナグラムとは、ある文字列が別の文字列の並べ替えということ。
ソースコード
python/anagram.py at 39878c3c122d01bea78aa5276fb307879e29c975 · ki-hi-ro/python
def is_anagram(a, b):
if sorted(a) == sorted(b):
print(a + 'は、' + b + 'のアナグラム')
else:
print(a + 'は、' + b + 'のアナグラムではない')
is_anagram('listen', 'silent')
is_anagram('cat', 'cats')
出力結果
listenは、silentのアナグラム
catは、catsのアナグラムではない

アナグラム判定の仕組み
sorted関数は、文字列を1文字ずつ取り出し、辞書順に並べ替えたリストとして返す。
a=listen、b=silentの時、sorted関数を使った結果は、以下のようになる。
sorted(a)
['e', 'i', 'l', 'n', 's', 't']
sorted(b)
['e', 'i', 'l', 'n', 's', 't']
アナグラムであれば、同じリストになる。
コメントを残す