palindrome function

Terry Reedy tjreedy at
Sat Jul 12 21:18:06 CEST 2008

Peter Otten wrote:
> Denis Kasak wrote:
>> Basically, it reverses the list in place, so it modifies the list which
>> called it. It does not return a /new/ list which is a reversed version
>> of the original, as you expected it to. Since it doesn't return anything
>> explicitly, Python makes it return None. Hence, the comparison you are
>> doing is between the original list and a None, which is False, naturally.
>> Try this:
>> spam = ['a', 'n', 'n', 'a']
>> eggs = spam[:]
>> if spam.reverse() == eggs:
>>     print "Palindrome"
> Your explanation is correct, but your example code compares None to
> ['a', 'n', 'n', 'a'] and therefore won't print "Palindrome", either.

I don't know if this was posted yet, but 'seq.reversed() == seq' is the 
simple way to test for 'palindomeness'.

More information about the Python-list mailing list