sort()函数不会给出预期的结果

时间:2013-05-08 10:33:52

标签: python

我是Python的初学者,我试图让下面发布的Python代码工作,但不幸的是,它没有给我预期或正确的结果。

我试图使用内置方法sort()对包含数字的简单列表进行排序,并且在执行程序后,我得到NONE作为结果。

请指导我解决这个问题。

Python代码

a=[7,4,0,-5,30,2,11,84,6]
b=a.sort()
print(b)

4 个答案:

答案 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]