Мой код на данный момент выглядит так и у меня проблема с циклами по вставке обратно в список, так как размерность последней строки на 1 меньше, чем первой - выдается ошибка.
import random n = int(input("N: ")) d = int(input("D: ")) L = [random.randint(-20,20) for i in range(n)] M = [] k = 0 L1 = [] #Razdeleniye na D(5) while k <= len(L): if len(L1) <= d: if k == 0: L1.append(L[k::d]) k = k + 1 if n - k >= d: L1.append(L[k::d]) k = k + 1 else: break else: break print("_____") print(L) print(L1[:-1]) L2 = [] #Sortirovka for i in range(len(L1)): L1[i].sort() #Dobavleniye obratno v spisok L_2 = [] for i in range(len(L1[:-1])): for j in range(len(L1[i][:-1])): #Tut sama problema L_2.append(L1[j][i]) if len(L[j][i]) < len(L[j][0]): L_2.append((L1[j][i][:-1])) break print("-----") print(L1[:-1]) print(L_2)