> 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

Reply via email to