Ali*_*_IT 0 python sorting list
我在python中尝试了这个代码,它完美地工作:
listX.sort()
list1.sort()
result = listX + list1
Run Code Online (Sandbox Code Playgroud)
但以下代码不起作用:
result = listX.sort() + list1.sort()
Run Code Online (Sandbox Code Playgroud)
它给了我这个错误信息:
TypeError: unsupported operand type(s) for +: 'NoneType' and 'NoneType'
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?谢谢!
因为该list.sort方法在列表上运行,返回None.相反,sorted是一个内置函数,它确实返回已排序的输出.
result = sorted(listX) + sorted(list1)
Run Code Online (Sandbox Code Playgroud)
这会做你想要的.
这是因为list.sort()退货None,所以你有效地做了:
None + None
Run Code Online (Sandbox Code Playgroud)
这甚至没有意义.
如果要连接两个列表的已排序元素,可以执行以下操作:
listA.sort()
listB.sort()
listC = listA + listB
Run Code Online (Sandbox Code Playgroud)
或者,(推荐):
listC = sorted(listA) + sorted(listB)
Run Code Online (Sandbox Code Playgroud)
如sorted() 确实返回一个值.