python 中定义函数,调用时输出None?

题目描述

def pnn(T):

H = T.sort()
print(H)
return

题目来源及自己的思路

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?

输入T=[2,3,8,6,5,6]
希望输出[2,3,5,6,6,8]
结果输出None???为什么会是这样的结果???

阅读 4.9k
3 个回答

T.sort()调用对象T的sort()方法,sort()方法改变对象T内部元素的排列,但没有返回值,因为没有必要。

def pnn(T):
    H = T.sort()  # sort()方法没有返回值或者说返回None,因此H就是None
    return T  # T中的元素已经排好序了,直接返回T即可
def pnn(T):
    T.sort()
    print(T)
    return T

list.sort() 影响list对象自身而并没有返回值

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题