2016-11-27 1 views
1

私は、リスト内で最も長いサブシーケンスを見つける必要のあるタスクを持っています。私はちょうど追加する方法があまりにもわからないんだけど、それはすべてがそれまでは働いていた私はmySequence変数に最後の2を追加リストから最長のsubSequenceを抽出します。 TypeErrorを見つけることができません

def subSequence(sequence): 

    newSequence = [0] 
    longest = [0] 

    for x in range(0,len(sequence)): 
     print("x is " +str(x)+"\n") 
     if sequence[x] == sequence[0]: 
      newSequence.append(sequence[x]) 

     elif sequence[x] > sequence[x-1]: 
      print("sequence[x] = " +str(sequence[x])) 
      print("sequence[x-1] = " +str(sequence[x-1])) 
      newSequence.append(sequence[x]) 

     else: 
      if longest <= newSequence: 
       del longest[:] 
       longest.append(newSequence[:]) 
       print("longest = "+str(longest)) 
       del newSequence[:] 
       newSequence.append(sequence[x]) 
      else: 
       del newSequence[:] 

    return newSequence 

mySequence = [1,2,3,2,5,6,7,2] 
print(subSequence(mySequence)) 

は今、私はこのエラー

Traceback (most recent call last): 
    File "D:/Calum/Desktop/subSequence.py", line 27, in <module> 
    print(subSequence(mySequence)) 
    File "D:/Calum/Desktop/subSequence.py", line 15, in subSequence 
    if longest <= newSequence: 
TypeError: unorderable types: list() <= int() 

を取得していますpythonでこの関数を作りました2は、昇順の番号の最も長い列だとして出力2,5,6,7でなければならないタイプのエラーが

が起こる作っている

答えて

1

このライン:

  longest.append(newSequence[:]) 

それを作る、longestにリストを追加しているようだ:

  longest.extend(newSequence[:]) 
関連する問題