I am very new to python, as you will be able to tell.
If I have a list:
a = [1,2,3,2,1]
This evaluates to true:
a == a[::-1]
...but this evaluates to false:
a == a.reverse()
Why is that the case?
because .reverse()
reverses the list in-place and returns none:
>>> print a.reverse()
None
and a == None
evaluates to False
.
a.reverse()
has no return value, so the comparison is a==None which is false
you can check with:
>>> str(a.reversed())
'None'
even better:
>>> (id(a.reverse()), id(None))
you'll see the same addresses
If you want a new copy of the list, use reversed() instead.
a == list(reversed(a))
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.