palindrome function

Terry Reedy tjreedy at udel.edu
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