我最近寫了一個方法來循環通過/usr/share/dict/words
並返回一個迴文列表使用我的ispalindrome(x)
方法 這裏的一些代碼...它有什麼問題嗎?它只是棚圈10分鐘,然後將文件蟒蛇和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 2011-01-12 08:01:38
與你的問題無關,但你的第二個函數可以簡化爲`return(reverse(a).lower()== a.lower())`。 `==`已經返回`True`或`False`,所以不需要在它周圍包含`if`語句。 – 2011-01-12 08:03:08