> 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" > > Um, wouldn't this suffer the same problem- spam.reverse() would return None, so None==eggs test would return false?
I think you meant to say: spam = ['a', 'n', 'n', 'a'] eggs = spam[:] spam.reverse() if spam == eggs: print "Palindrome" -Hugh > -- > Denis Kasak > > -- > http://mail.python.org/mailman/listinfo/python-list >
-- http://mail.python.org/mailman/listinfo/python-list