📜  Python|检查列表是否已排序(1)

📅  最后修改于: 2023-12-03 15:19:20.783000             🧑  作者: Mango

Python | 检查列表是否已排序

在 Python 中,我们可以用简单而直接的方式检查一个列表是否已经排好序。将列表与已排序的副本进行比较是最有效的方法之一。

方法一:直接比较

该方法非常简单,只需要比较列表与排序后的列表是否相等即可。如果相等,则表示该列表已经排序。以下是一个例子。

# 声明需要检查是否排序的列表
my_list = [1, 2, 3, 4, 5]

# 创建排序后的副本
sorted_list = sorted(my_list)

# 比较两个列表是否相等
if my_list == sorted_list:
    print("该列表已经排好序.")
else:
    print("该列表尚未排好序.")

该代码片段运行结果为:该列表已经排好序.

解释

该程序首先声明了一个需要检查的列表,名为my_list。接着,它用sorted()函数创建了一个名为sorted_list的副本,该副本是已排序的。最后,它检查两个列表是否相等。如果它们相等,则打印“该列表已经排好序.”。否则,打印“该列表尚未排好序.”。

方法二:使用 lambda 函数

该方法使用一个 lambda 函数,该函数对列表中的每个元素进行比较。以下是一个例子。

# 声明需要检查是否排序的列表
my_list = [1, 2, 3, 4, 5]

# 判断列表是否排序
is_sorted = all(my_list[i] <= my_list[i+1] for i in range(len(my_list)-1))

# 打印列表是否排序
if is_sorted:
    print("该列表已经排好序.")
else:
    print("该列表尚未排好序.")

该代码片段运行结果为:该列表已经排好序.

解释

该程序首先声明了一个需要检查的列表,名为my_list。接着,它使用 lambda 函数对列表中的每个元素进行比较。最后,它使用 all() 函数检查所有比较是否都返回 True。如果是,则打印“该列表已经排好序.”。否则,打印“该列表尚未排好序.”。