为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 lst.sort().reverse() 无效?

为什么 lst.sort().reverse() 无效?

手掌心 2023-03-16 17:12:58
每个标题。我不明白为什么它无效。我知道他们改变了对象,但是如果你调用 sort 方法,在它完成之后你会调用 reverse 方法,所以它应该没问题。为什么我需要在下面的行中输入 lst.sort(),lst.reverse()?编辑:好吧,当它被这样指出时,我之前没有得到它有点尴尬。我从字面上认识到它改变了对象并因此返回了一个 None,但我想它没有注册这也意味着你不能反转一个 None 类型的对象。
查看完整描述

3 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超14个赞

当您调用 lst.sort() 时,它不会返回任何内容,它会更改列表本身。所以 lst.sort() 的结果是 None,因此你试图反转 None 这是不可能的。



查看完整回答
反对 回复 2023-03-16
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

简单地说,lst.sort()不返回排序的列表。它会自我修改。


>>> lst = [3,1,2,0]

>>> lst

[3, 1, 2, 0]

>>> lst.sort().reverse()

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

AttributeError: 'NoneType' object has no attribute 'reverse'

>>>

由于lst.sort()不返回任何内容,Python 会自动None为您返回。由于None没有reverse方法,因此会出现错误。


>>> lst.sort()

>>> lst.reverse()

>>> lst

[3, 2, 1, 0]

>>>


查看完整回答
反对 回复 2023-03-16
?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

您也可以尝试在排序时反转列表

lst.sort( reverse=True )


查看完整回答
反对 回复 2023-03-16
  • 3 回答
  • 0 关注
  • 136 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信