Paul Rubin <[email protected]> writes:
> Ian <[email protected]> writes:
>> On 27/08/2010 21:51, Jussi Piitulainen wrote:
>>> Meanwhile, I have decided to prefer this:
>>>
>>> def palindromep(s):
>>> def reversed(s):
>>> return s[::-1]
>>> return s == reversed(s)
>> I like this.
>> s[::-1] is obscure and non-obvious, especially to Python noobs.
It may be non-obvious to newcomers, but it is quite a well known idiom.
Also, I an not aware that it is customary in python to name predicate
functions with a "p" suffix - Python is not Lisp!
>
> Overriding the 'reversed' builtin even in an inner scope is a little bit
> ugly.
I agree.
> If you don't mind some overhead, list(s)==list(reversed(s)) (using the
> built-in reversed, not the special obscure one) is pretty clear.
May I suggest a comment instead:
def ispalindrome(s):
# s[::-1] evaluates to the string s reversed
return s == s[::-1]
--
Arnaud
--
http://mail.python.org/mailman/listinfo/python-list