私は最近/usr/share/dict/words
を回り、私のispalindrome(x)
メソッド を使って回文のリストを返しました。ここにいくつかのコードがあります...何が間違っていますか?それだけで10分間ストールした後、pythonとpalindromes
def reverse(a): return a[::-1] def ispalindrome(a): b = reverse(a) if b.lower() == a.lower(): return True else: return False wl = open('/usr/share/dict/words', 'r') wordlist = wl.readlines() wl.close() for x in wordlist: if not ispalindrome(x): wordlist.remove(x) print wordlist
'ispalindrome = lambda a:a [:: - 1] .lower()== a.lower()'という短いインライン定義は、〜25%の時間を節約します。 – eumiro
あなたの問題とは無関係ですが、2番目の関数は 'return(reverse(a).lower()== a.lower())'に減らすことができます。 '=='はすでに 'True'または' False'を返すので、 'if'文をその周りにラップする必要はありません。 –