检查列表是否已排序

问题描述 投票:-3回答:2

我已经尝试了sorted,value_sort,all(a,b ... zip)等,但我的函数检查列表是否已排序,“is_solved”将无效。该功能应检查大理石列表是否按升序排序。我已经评论过我试过的其他方法,但没有奏效。非常感激任何的帮助。

    def is_solved(self, list_of_marbles, i):
#returns true if the game is solved
        if self.list_of_marbles[i] < self.list_of_marbles[i+1]:   
        #all(self.list_of_marbles[i] <= self.list_of_marbles[i+1] for i 
        #in range(len(self.list_of_marbles)-1))
    #if self.is_solved(board2, i) == True:
    #if self.list_of_marbles[i] < self.list_of_marbles[i+1]:    
        return True
        else: 
            return False
python list sorting undefined
2个回答
1
投票
def check(list):
    if (list == sorted(list)):
        return True
    else:
        return False

li = [1,2,3,4,5]
check(li)

如果list == sorted(list)表示输入的列表已经排序


0
投票
def Sort(x):
L=sorted(x)
if x==L:
    return x
else:
    i=0
    for i in range (len(x)):
        if x[i] > x[i+1] :
            break

    unsortedPart = x[i:]
    R = RecursiveMin(unsortedPart)
    I = unsortedPart.index(R)

    for j in range (len(x)):
        if x[j] > R :
            del x[(I+i)]
            x.insert(j,R)
            break

    return Sort(x)

这是使用递归按升序对python中的列表进行排序的代码。但是,如果您要查找的是对于正在排序的列表的真/假答案,则不一定要求您。

def checkSorted(list):
   L = sorted(list)
   if list == L:
      return True
   else:
      return False
© www.soinside.com 2019 - 2024. All rights reserved.