Python以反向降序排序元素

时间:2014-05-18 15:37:01

标签: python sorting

我有函数is_sorted,应检查给定列表是否使用第一个if else语句排序:

  1. 如果List已排序,则应返回True
  2. else返回false,因为它是未排序的(或降序)
  3. 代码:

    xs = []
    ys = sorted(xs)
    zx = list(reversed(xs))
    def is_sorted(xs):
    
        if xs == sorted(xs):
            print(True)
        elif(list(reversed(xs)) == ys):
            print(-1)
    
        else:
            print(False)
    #is_sorted([1,2,3,4,5,6])
    #is_sorted([7,6,5,4,3,2,1]) 
    

    现在我想添加第二个if语句,该语句应检查列表是否正在下降,如果是,则应该打印出-1。我有一个问题,我认为代码跳过 elif语句,所以如果我输入一个降序列表,则打印出false。我知道也许可以使用bubblesort来实现它,但我现在已经创建了这个代码并希望修复它以便清楚地学习python。

    所以我坚持使用elif语句

    修改

    def is_sorted(xs):
        ys = sorted(xs)
        zx = list(reversed(xs))
    
        if xs == sorted(xs):
            return(1)
        if( zx == ys):
            return(-1)
    
        else:
            return(0)
    is_sorted([7,6,5,4,3,2,1])   
    

0 个答案:

没有答案