繁体   English   中英

关于 Python 中的反向列表的问题

[英]Question about reversed lists in Python

正如您所知,我对 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))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM