Мне дан список списков. Я должен удалить из этого списка списков списки, которые являются полными подмножествами любого другого списка в этом списке списков, и списки, которые равны любому другому списку в этом списке списков.
Например, если мой список задан как
A = [[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 4], [1, 4, 5, 6, 7, 8]]
Вывод должен быть
[[1, 2, 3, 4, 5], [1, 4, 5, 6, 7, 8]]
Мой код выглядит следующим образом:
w=len(A)
sol=[]
for i in range (0,w-1):
for j in range (1,w):
ret=all(elem in A[i] for elem in A[j])
if ret:
if not(A[i] in sol):
sol.append(A[i])
else:
ret=all(elem in A[j] for elem in A[i])
if ret:
if not(A[j] in sol):
sol.append(A[j])
Я получаю вывод как
[[1, 2, 3, 4, 5], [1, 4], [1, 4, 5, 6, 7, 8]]
Где я делаю ошибку?
Если есть какой-либо другой способ для этой задачи, вы можете поделиться им.