Имеет право на существование такое решение задачи про массивы?
Celtic Hammer
Мудрец
(15923),
на голосовании
2 месяца назад
https://otvet.mail.ru/question/238972850 Из массива [[7,[0,0,0]],[8,[5,4]],[2,[1,2,3]],[7,[8,9]],[3,[1,2,3]],[2,[4,5,6]],[7,[11,22,23]],[2,[89,90,91]]] получить [[2, [1, 2, 3, 4, 5, 6, 89, 90, 91]], [7, [0, 8, 9, 11, 22, 23]], [3, [1, 2, 3]], [8, [5, 4]]] Принцип ясен, первые элементы подмассивов делаем уникальными и подкидываем к ним весь набор того что они содержат
res2 = sorted([[7,[0,0,0]],[8,[5,4]],[2,[1,2,3]],[7,[8,9]],[3,[1,2,3]],[2,[4,5,6]],[7,[11,22,23]],[2,[89,90,91]]]) result = [1] m3 = [] for i in range(len(res2) - 1): if res2[i][0] == res2[i + 1][0]: m2 = m3 m3 += m2 + list(set(res2[i][1] + res2[i + 1][1])) result[-1] = [res2[i][0], list(set(m3))] else: result += [1] m3 = [] result = list(filter(lambda x: isinstance(x, list),result)) test = [i[0] for i in res2] counts = list(filter(lambda x: test.count(x) == 1, test)) single = [i for i in res2 if i[0] in counts] result = result + single print(result)
Из массива
[[7,[0,0,0]],[8,[5,4]],[2,[1,2,3]],[7,[8,9]],[3,[1,2,3]],[2,[4,5,6]],[7,[11,22,23]],[2,[89,90,91]]]
получить
[[2, [1, 2, 3, 4, 5, 6, 89, 90, 91]], [7, [0, 8, 9, 11, 22, 23]], [3, [1, 2, 3]], [8, [5, 4]]]
Принцип ясен, первые элементы подмассивов делаем уникальными и подкидываем к ним весь набор того что они содержат