关于Python中反转列表的问题

时间:2011-04-29 22:23:44

标签: python list equivalence

我是python的新手,你可以告诉我。

如果我有一个清单:

a = [1,2,3,2,1]

评估为true:

a == a[::-1]

...但是评估为false:

a == a.reverse()

为什么会这样?

3 个答案:

答案 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))