Сравнение чисел в списке, находящимся в списке python

Цель программы, создать из списка чисел комбинации определённой длины (b), так что бы комбинация выполняла следующие условие a(n)>a(n+1) (n это индекс числа в комбинации). Для выполнения данного задания, я создал данную программу.

import itertools

b=int(input())
a = list(map(int, input().split()))
n=[]

for i in range(1,len(a)+1):
    c=list(itertools.combinations(a,b))
for g in range(0,len(c)):
    k=list(c[g])
    n.append(k)
for j in range(0, len(n)-1):
    for f in range(0, b):
        for p in range(1, b-1):
            if n[j][f] < n[j+1][p]:
                 del n[j]

Последний цикл из 3 for создан для проверки условия. j, n - это индекс списка с комбинацией в основном списке, где они хранятся, а f, p - это индекс числа в комбинации. Если условие не выполняется, то del n[j] удаляет комбинацию не выполняющую условие. Однако при запуске программа выдаёт

---> 22                 if n[j][f] < n[j+1][p]:
     23                     del n[j]

IndexError: list index out of range

В чём заключается моя ошибка? Я уже разные способы перепробовал, может есть такой, который я не знаю.


Ответы (0 шт):