繁体   English   中英

如何在 Python 中创建 function 以确定列表是否已排序?

[英]How to create a function in Python to determine if list is sorted or not?

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

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

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

但是,您可能想多了这个 function。 我添加了一个简化版本,使用 Python 的sorted function 作为比较器。

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))

OUTPUT:

False
True
True

为了理解错误,必须了解参数和 function 的 arguments 之间的区别。

有用的材料:

Python 词汇表:参数参数

Python FAQ: arguments和参数有什么区别

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM