ich vor kurzem eine Methode, um durch /usr/share/dict/words
und eine Liste von Palindrome mit meiner ispalindrome(x)
Methode einige des Code hier geschrieben ... was ist los mit ihm? es Stände nur 10 Minuten und gibt dann eine Liste aller Wörter in der DateiPython und Palindrome
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
Eine kürzere Inline-Definition von 'ispalindrome = Lambda a: a [:: - 1] .lower() == a.lower()' spart Ihnen weitere ~ 25% der Zeit. – eumiro
Nicht verwandt mit Ihrem Problem, aber Ihre zweite Funktion kann auf 'return (reverse (a) .lower() == a.lower())' reduziert werden. Das '==' gibt bereits 'True' oder' False' zurück, so dass es nicht nötig ist, eine 'if' Anweisung darum zu legen. –