为什么执行以下操作:打印排序列表
print([7,1,0].sort())
生产:
None
在执行下列操作:
a = [7,1,0]
a.sort()
print(a)
生产:
[0, 1, 7]
?
为什么执行以下操作:打印排序列表
print([7,1,0].sort())
生产:
None
在执行下列操作:
a = [7,1,0]
a.sort()
print(a)
生产:
[0, 1, 7]
?
因为在第一个示例print([7,1,0].sort())
中,您正在打印的值由sort()
返回,并且sort()
不返回任何内容。 虽然后来您正在执行sort()
的列表a
,然后打印列表a
。
Sort()
更改列表中元素的顺序a
并且不返回任何内容。
使用sorted()
获取排序列表作为返回值。
因为.sort()
操作列表上,并返回None
,而print(sorted(a))
打印你想要什么,但不改变列表
sort()
排序列表中,但返回None
。你可能想要sorted
。
print(sorted([7,1,0]))
的.sort()
方法排序到位列表并返回None
。列表变得有序,这就是为什么打印列表显示期望值。但是,print(x.sort())
打印的结果为sort()
,sort()
返回None
。
我不会添加另一个答案,而是以不同的方式陈述当前的答案:'sort'修改你给它的列表,但不返回任何东西。 'sorted'创建列表的副本,对副本进行排序并返回排序的副本。它保持原来的列表不变。 – Carcigenicate
只是一个提示:我没有降低评分,但你确实拥有的低估可能是因为通过检查文档可以回答这个问题。 ***总是***检查文档,如果你对功能的操作感到困惑。如果您不使用自动显示文档的IDE,则应在编写时在浏览器中打开Python文档。 – Carcigenicate