シーケンスの最初の数字と次の数字を比較して、数字のリストを分割して、それが大きいかどうかを判断します。この場合、小さい数字が1つ見つかるまでそのサブリストを作成します。そしてお互い
Inputdata = [45,42,78,120,47,2,50,32,34]
45 と 42 を比較すると大きくないため、45 だけでリストを作成し、42 から始めて次のリストと比較し、42 より小さい値を見つけます。
Output = [45] [42,78,120,47] [2,50,32,34]
これは私のコードです:
data = [45,42,78,120,47,2,50,32,34]
m = (len(data))
i=0
list1=[]
emptylist = True
while i <= m:
for j in range(i+1,len(data)-1):
if data[i] < data[j]:
list1.append(data[j])
emptylist = False
else:
if emptylist:
list1.insert(0,data[i])
print list1
i += j
list1 = []
emptylist = True
break
else:
list1.insert(0,data[i])
print list1
print j
i += j
print i
list1 = []
emptylist = True
i += j
break
私の出力は次のとおりです。
[45]
[42, 78, 120, 47]
問題が見つかりません...何か提案はありますか?ありがとう
PD1。アイデアは、最初の要素が小さい方のサブリストを作成することです。