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

为什么不能直接使用 print(something.sort()) ?

为什么不能直接使用 print(something.sort()) ?

Smart猫小萌 2023-10-26 15:19:57
我是 python 初学者,有人可以帮助解释为什么这个 print() 不起作用,并且 python 打印None结果吗?list =['a','c','d','e']print(list.sort())所以如果我采取额外的步骤,我可以获得结果:list =['a','c','d','e']list.sort()print(list)提前谢谢了
查看完整描述

4 回答

?
慕沐林林

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

list.sort() 是修改列表的修改函数。它本身不是一个列表。print(list.sort())会得到你None,因为没有列表可以从这个函数返回。



查看完整回答
反对 回复 2023-10-26
?
阿波罗的战车

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

list.sort()就地修改列表,这意味着它会在内存中的当前位置对列表进行排序,而不返回任何内容。

您想要的是sorted(list),它会复制列表,对其进行排序,然后返回它。


查看完整回答
反对 回复 2023-10-26
?
萧十郎

TA贡献1815条经验 获得超13个赞

回答您想要做的事情所暗示的问题:

如果你想要一行打印排序列表,你可以使用

print(sorted(the_list))

请注意,sorted(the_list)返回 的新的排序版本the_list,并且the_list之后保持不变。


查看完整回答
反对 回复 2023-10-26
?
MM们

TA贡献1886条经验 获得超2个赞

list.sort()不会将排序后的列表存储在新变量中,而是直接修改列表,将其视为一个过程。您仍然可以通过复制原始列表来保留原始列表,只需使用 build-itcopy方法


代码:


list =['c','a','d','e']


# saving a copy of our original list

originList = list.copy()

print("original list:",originList)


# sorting our list

list.sort()

print("sorted list:",list)

输出:


oiginal list: ['c', 'a', 'd', 'e']  # the copy (now it's the original)

sorted list: ['a', 'c', 'd', 'e']    # the original (now it's sorted)


查看完整回答
反对 回复 2023-10-26
  • 4 回答
  • 0 关注
  • 249 浏览
慕课专栏
更多

添加回答

举报

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