Набор может быть только подмножеством другого, если он меньше, поэтому, перебирая наборы в порядке возрастания размера, мы можем проверить каждый элемент по найденным ранее минимальным подмножествам, чтобы узнать, является ли он минимальным подмножеством.
def get_minimal_subsets(sets):
sets = sorted(map(set, sets), key=len)
minimal_subsets = []
for s in sets:
if not any(minimal_subset.issubset(s) for minimal_subset in minimal_subsets):
minimal_subsets.append(s)
return minimal_subsets
l = [[1,2,3],[2,3],[2,4,3],[4,5],[5]]
print(get_minimal_subsets(l)) # [{5}, {2, 3}]