class 方法未返回 python 中的排序列表

class method not returning sorted list in python

class Solution:
    def sortedSquares(self, numbs):
        n = len(numbs)
        for i in range(n):
            numbs[i] = numbs[i] * numbs[i]
        return numbs.sort()
    
sol = Solution()
nums = [-4,-1,0,3,10]
sol.sortedSquares(nums)

Class 解决方案应该 return 排序列表但 return 什么都没有,我检查了 nums 列表的值我得到了正确的输出但我不知道为什么这个方法不是 returning 排序列表,我尝试通过更改变量声明来解决它,但没有任何帮助。

.sort() returns None

所以,您想使用 sorted 代替:

class Solution:
    def sortedSquares(self, numbs):
        n = len(numbs)
        for i in range(n):
            numbs[i] = numbs[i] * numbs[i]
        return sorted(numbs)
    
sol = Solution()
nums = [-4,-1,0,3,10]
sol.sortedSquares(nums)

但如果您仍然想使用 .sort(),只需调用 .sort() 方法,然后 return 麻木:

class Solution:
    def sortedSquares(self, numbs):
        n = len(numbs)
        for i in range(n):
            numbs[i] = numbs[i] * numbs[I]
        numbs.sort()
        return numbs
        
    
sol = Solution()
nums = [-4,-1,0,3,10]
sol.sortedSquares(nums)

两种方式都可以。