我是Python的初学者,我试图让下面发布的Python代码工作,但不幸的是,它没有给我预期或正确的结果。
我试图使用内置方法sort()对包含数字的简单列表进行排序,并且在执行程序后,我得到NONE作为结果。
请指导我解决这个问题。
Python代码
a=[7,4,0,-5,30,2,11,84,6]
b=a.sort()
print(b)
答案 0 :(得分:5)
list.sort
对列表进行排序,从而返回None
而是使用返回排序列表的sorted
函数
b = sorted(a)
答案 1 :(得分:1)
sort()
是 inplace 排序。它对列表进行排序,但不返回它(它实际上返回None
)。
>>> a=[7,4,0,-5,30,2,11,84,6]
>>> a.sort()
>>> a
[-5, 0, 2, 4, 6, 7, 11, 30, 84]
要单独获取排序列表,请使用sorted()
:
>>> a=[7,4,0,-5,30,2,11,84,6]
>>> b = sorted(a)
>>> b
[-5, 0, 2, 4, 6, 7, 11, 30, 84]
>>> a
[7, 4, 0, -5, 30, 2, 11, 84, 6]
答案 2 :(得分:1)
a.sort()
对a
进行排序并返回None
。试试这个:
a=[7,4,0,-5,30,2,11,84,6]
a.sort()
print(a)
答案 3 :(得分:0)
函数.sort()
不返回它返回None
的列表对象。
如果你看一下这个例子,你可以看到a如何排序而不分配给b。
>>> a=[7,4,0,-5,30,2,11,84,6]
>>> a.sort()
>>> a
[-5, 0, 2, 4, 6, 7, 11, 30, 84]