0

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

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

请指导我解决这个问题。

Python代码

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

4 回答 4

5

list.sort对列表进行就地排序,从而返回None

而是使用sorted返回排序列表的函数

b = sorted(a)
于 2013-05-08T10:35:28.873 回答
1

sort()就地排序。它对列表进行排序,但不返回它(它实际上返回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]
于 2013-05-08T10:36:50.853 回答
1

a.sort()排序a并返回None。尝试这个:

a=[7,4,0,-5,30,2,11,84,6]
a.sort()
print(a)
于 2013-05-08T10:37:25.530 回答
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]
于 2013-05-08T10:36:49.040 回答