我对python很陌生,你会知道的。
如果我有一个清单:
a = [1,2,3,2,1]
这评估为真:
a == a[::-1]
...但这评估为假:
a == a.reverse()
为什么会这样?
我对python很陌生,你会知道的。
如果我有一个清单:
a = [1,2,3,2,1]
这评估为真:
a == a[::-1]
...但这评估为假:
a == a.reverse()
为什么会这样?
因为.reverse()
就地反转列表并返回无:
>>> print a.reverse()
None
并a == None
评估为False
。
a.reverse()
没有返回值,所以比较是 a==None 是假的
你可以检查:
>>> str(a.reversed())
'None'
更好:
>>> (id(a.reverse()), id(None))
你会看到相同的地址
如果您想要列表的新副本,请改用 reversed()。
a == list(reversed(a))