我在 python 中尝试了这段代码,它运行良好:
listX.sort()
list1.sort()
result = listX + list1
但以下代码不起作用:
result = listX.sort() + list1.sort()
它给了我这个错误信息:
TypeError: unsupported operand type(s) for +: 'NoneType' and 'NoneType'
我怎样才能解决这个问题?谢谢!
因为该list.sort
方法在原地对列表进行操作,所以返回None
. 相反,sorted
是一个内置函数,它确实返回排序后的输出。
result = sorted(listX) + sorted(list1)
那会做你想要的。
这是因为list.sort()
返回None
,所以你实际上是在做:
None + None
这甚至没有意义。
如果你想连接两个列表的排序元素,你可以这样做:
listA.sort()
listB.sort()
listC = listA + listB
或者,(推荐):
listC = sorted(listA) + sorted(listB)
和返回值sorted()
一样。