给定一个列表,我们可能需要检查其元素的顺序。在本文中,我们将了解列表中存在的元素是否按严格的顺序递增。下面的程序可以实现该目标。
在这种方法中,我们首先对每个元素进行切片,然后将其值与被切片的下一个元素进行比较。如果所有这些比较都成立,那么我们得出的结论是列表严格按升序排列。
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.
制作一个迭代器,该迭代器使用从迭代器获得的参数来计算函数。在将元素列表一一切片之后,我们对元素列表进行压缩,然后使用小于等于运算符。请注意,在以下示例中,我们使用字符串而不是数字。
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.