检查清单是否在Python中严格增加

给定一个列表,我们可能需要检查其元素的顺序。在本文中,我们将了解列表中存在的元素是否按严格的顺序递增。下面的程序可以实现该目标。

与所有和拉链

在这种方法中,我们首先对每个元素进行切片,然后将其值与被切片的下一个元素进行比较。如果所有这些比较都成立,那么我们得出的结论是列表严格按升序排列。

示例

listA = [11,23,42,51,67]
#Given list
print("Given list : ",listA)
# Apply all and range
if (all(i < j for i, j in zip(listA, listA[1:]))):
   print("Yes, List is sorted.")
else:
   print("No, List is not sorted.")
# Checking again
listB = [11,23,21,51,67]
print("Given list : ",listB)
# Apply all and range
if (all(i < j for i, j in zip(listB, listB[1:]))):
   print("Yes, List is sorted.")
else:
   print("No, List is not sorted.")

输出结果

运行上面的代码给我们以下结果-

Given list : [11, 23, 42, 51, 67]
Yes, List is sorted.
Given list : [11, 23, 21, 51, 67]
No, List is not sorted.

使用itertools.starmap

制作一个迭代器,该迭代器使用从迭代器获得的参数来计算函数。在将元素列表一一切片之后,我们对元素列表进行压缩,然后使用小于等于运算符。请注意,在以下示例中,我们使用字符串而不是数字。

示例

import operator
import itertools

listA = ['Mon','Tue','Sun']
#Given list
print("Given list : ",listA)
# Apply all and range
if all(itertools.starmap(operator.le,
   zip(listA, listA[1:]))):
print("Yes, List is sorted.")
else:
   print("No, List is not sorted.")
# Checking again
listB = ['Mon','Sun','Tue']
print("Given list : ",listB)
# Apply all and range
if all(itertools.starmap(operator.le,
   zip(listB, listB[1:]))):
   print("Yes, List is sorted.")
else:
   print("No, List is not sorted.")

输出结果

运行上面的代码给我们以下结果-

Given list : ['Mon', 'Tue', 'Sun']
No, List is not sorted.
Given list : ['Mon', 'Sun', 'Tue']
Yes, List is sorted.