这两段代码有什么不同?它们提供相同的输出.请解释



我写的代码:

def combine_sort(lst1, lst2):
comdined = sorted(lst1 + lst2)
print(comdined)
combine_sort([4, 10, 2, 5], [-10, 2, 5, 10])

示例中的代码:

def combine_sort(lst1, lst2):
unsorted = lst1 + lst2
sortedList = sorted(unsorted)
return sortedList
print(combine_sort([4, 10, 2, 5], [-10, 2, 5, 10]))

两个程序产生相同的输出

[-10, 2, 2, 4, 5, 5, 10, 10]

主要区别在于,在示例中,sortedList是从函数返回的,而在您的代码中则不是。

如果想保存输出,则只能保存第二个输出。在第一个中,一旦函数退出,combined变量就丢失了。在第二个示例中,当函数退出时,它返回sortedList

你可以通过调用

将这个返回值赋给一个变量:
output = combine_sort([4, 10, 2, 5], [-10, 2, 5, 10])
print(output)

上面的一个使用print输出到控制台,这将把变量放在控制台供您查看,但您不能像设置底部的变量一样设置一个等于结果的变量。返回一个值(正如您在底部函数中所做的那样)允许您将该值存储在内存中,而只打印输出它,通常用于调试。

区别如下:

def combine_sort(lst1, lst2):
unsorted = lst1 + lst2
sortedList = sorted(unsorted)
return sortedList

#you can store your function in a variable like this
sorted = combine_sort([4, 10, 2, 5], [-10, 2, 5, 10])
print(sorted)

在上面的例子中,我将函数存储在一个名为sorted的变量中,打印该变量将提供相同的输出。最佳实践是根据函数的目的使用return而不是print。

最新更新