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