へたっぴpythonista

ド素人pythonistaとして、日々の学習成果や気づいたことについて書きます。

一行で書ける回文判定 in Python

Pythonを用いて一行で回文判定をします。

①素直に比べる

def palindrome(string): return 0 if string==string[::-1] else 1

 

元の文と、逆から読んだ文が一致するか否かを比べる、特に説明する必要のないコード。シンプルイズザベストですね。

②find関数を利用

def palindrome(string): return string.find(string[::-1])

 

find関数は文字列中から特定の語句を探して、その語句が最初に現れた位置を返す関数です。文字列が回文であった場合にはインデクス値0を、回文でなかった場合にはインデクス値-1を返します。

 

一行で書いてあると、見やすいし動作も早くなっていいですね。どれだけシンプルに掛けるかに頭を悩ませるレベルに早くなりたいものです(笑)自分はまだ、どうやってコードを書くかに頭を悩ませているので・・・