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'.
-- http://mail.python.org/mailman/listinfo/python-list
