返回并打印以Python提供不同的输出

时间:2019-09-23 02:20:51

标签: python arrays python-3.x sorting return

我试图合并两个数组并返回排序后的数组(leetcode上的#88),这是我使用的代码:

class Solution:
    def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:
        if (m > 0 and n > 0):
            merged = nums1[0:m] + nums2[0:n]
            result = sorted(merged)
            print(result)
            return result

输入为

[1,2,3,0,0,0,0]
3
[2,5,6]
3

输出是这样的- enter image description here

有人可以解释为什么打印和退货给出不同的输出吗?

1 个答案:

答案 0 :(得分:2)

转到question并选择python3作为语言,我们看到以下存根:

class Solution:
    def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:
        """
        Do not return anything, modify nums1 in-place instead.
        """

请注意注释-测试框架正在查看nums1的状态,而不是您返回的值-实际上,规范是不返回任何内容。

您正在打印返回变量,实际上就是您要返回的变量。但是实际用于此问题的变量不是该函数的返回值。

以任何格式阅读规范始终是编写任何内容之前迈出的良好第一步。