Grzegorz Brzęczyszczykiewicz rašė: > su visai jo priblūdais, Python man pradeda patikti. Džiugu, kad džiugina! > def __remove_repetitions(list_of_lists: list) -> list: > return_list = [] > while len(list_of_lists) > 1: > importantier = list_of_lists[0] > list_of_lists.pop(0) > > for i, k in enumerate(list_of_lists): > list_of_lists[i] = list(set(k) - set(importantier)) > return_list += [importantier] > > return_list.append(list_of_lists[0]) > return return_list Kaip gi čia praleisi progą sublizgėti oneliner'iais ir įmantrybėmis...: ;-) def __remove_repetitions(list_of_lists: list) -> list: seen = set() def uniq(lst): res = [e for e in lst if not e in seen] seen.update(lst) return res return list(map(uniq, list_of_lists)) arba netgi: def __remove_repetitions(list_of_lists: list) -> list: seen = set() return list(map(lambda lst: [e for e in lst if not (e in seen or seen.add(e))], list_of_lists)) p.s. mesjė, jūsiškė funkcija dar kažką palieka list_of_lists, kaip ir kažkodėl šalina iš ten... p.p.s. set()'ai neturi order, todėl list(set(k) - set(importanttier)) negarantuoja originalaus sąrašo elementų eiliškumo, jei tai svarbu.