我写的代码:
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。