关于Python中反向列表的问题

发布于 2024-11-04 04:53:29 字数 234 浏览 0 评论 0原文

正如你所见,我对 python 非常陌生。

如果我有一个列表:

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

其计算结果为 true:

a == a[::-1]

...但其计算结果为 false:

a == a.reverse()

为什么会这样?

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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

暗恋未遂 2024-11-11 04:53:29

因为 .reverse() 就地反转列表并返回 none:

>>> print a.reverse()
None

并且 a == None 计算结果为 False

because .reverse() reverses the list in-place and returns none:

>>> print a.reverse()
None

and a == None evaluates to False.

天涯沦落人 2024-11-11 04:53:29

a.reverse()没有返回值,所以比较是
a==无
这是错误的,

您可以检查:

>>> str(a.reversed())
'None'

更好的是:

>>> (id(a.reverse()), id(None))

您会看到相同的地址

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

梦萦几度 2024-11-11 04:53:29

如果您想要列表的新副本,请改用reverse()。

a == list(reversed(a))

If you want a new copy of the list, use reversed() instead.

a == list(reversed(a))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文