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']アナグラムであれば、同じリストになる。
コメントを残す