如何在Python中创建一个函数来确定列表是否排序



我被要求检查列表是否使用函数排序,但在不使用输入函数的情况下,我在函数中定义参数(lst(时遇到了问题。它说lst是未定义的,但我不知道如何在不使用输入函数的情况下更改它

def is_sorted(lst):
lst  = []
flag = 0
lst1 = lst[:]
lst1.sort()
if (lst1 == lst):
flag = 1
if (flag) :
return "True"
else:
return "False"
print (is_sorted(lst))

错误是没有定义第一个

在第一次调用lst时(在print (is_sorted(lst))行(,实际上并没有给lst一个值。在打印((之前,您需要一个lst = [1,2,3](或其他什么(。

但是,您可能对该功能考虑过多。我添加了一个使用Python的sorted函数作为比较器的简化版本。

def is_sorted(lst):
if (lst == sorted(lst)) or (lst == sorted(lst, reverse = True)):
return "True"
else:
return "False"
lst = [3,1,2]
print (is_sorted(lst))
lst = [1,2,3]
print (is_sorted(lst))
lst = [3,2,1]
print (is_sorted(lst))

输出:

False
True
True

为了理解错误,必须理解函数的参数和自变量之间的区别。

有用材料:

Python词汇表:参数,自变量

Python常见问题解答:参数和参数之间有什么区别

最新更新