我是python的新手,你可以告诉我。
如果我有一个清单:
a = [1,2,3,2,1]
评估为true:
a == a[::-1]
...但是评估为false:
a == a.reverse()
为什么会这样?
答案 0 :(得分:8)
因为.reverse()
就地反转了列表而没有返回:
>>> print a.reverse()
None
和a == None
评估为False
。
答案 1 :(得分:4)
a.reverse()
没有返回值,因此进行比较
一个==无
这是假的
您可以查看:
>>> str(a.reversed())
'None'
更好:
>>> (id(a.reverse()), id(None))
你会看到相同的地址
答案 2 :(得分:3)
如果您想要列表的新副本,请使用reversed()代替。
a == list(reversed(a))