You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyCharm中numpy数组调用sort方法返回None无法正常排序问题

Numpy排序返回None问题解答
  • arr.sort()、np.ndarray.sort(arr) 属于原地排序方法:排序逻辑直接修改调用的原数组本身,官方设计的返回值就是None,不会返回排序后的数组。你运行上述两种写法后,直接打印原数组arr即可看到排序后的结果:
    import numpy as np
    arr = np.array([3, 7, 6, 8, 9, 1, 2, 3])
    arr.sort()
    print(arr) # 输出:[1 2 3 3 6 7 8 9]
    
  • 你观察到的Jupyter中运行正常属于测试场景差异:如果在Jupyter单元格单独写一行arr.sort()不做赋值、不主动打印返回值,Jupyter默认不会输出None,你如果后续直接查看原数组arr的内容,会得到排序后的结果,很容易误以为是该方法返回了排序后的数组,和你在PyCharm中直接打印返回值的测试逻辑不一样。
  • np.sort(arr)属于非原地排序函数:不会修改原数组的内容,执行后会返回一个新的、已排序的数组,所以你赋值给变量后打印可以得到预期结果,原数组arr的内容保持排序前的状态。

内容的提问来源于stack exchange,提问作者user7437134

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 15:15:04