


Программирование
+2Операции со списками (массивами)...
Есть вот такой список
[[2,[1,2,3]],[7,[8,9]],[2,[4,5,6]],[7,[11,22,23]],[2,[89,90,91]]]
Нужно получить
[[2, [1, 2, 3, 4, 5, 6, 89, 90, 91]], [7, [8, 9, 11, 22, 23]]]
Ну, затея понятна - первые элементы подмассивов делаем уникальными и добавляем к ним весь набор того что они содержат.
Но на ночь глядя пока выходит только
[[2, [1, 2, 3, 4, 5, 6]], [2, [1, 2, 3, 4, 5, 6, 89, 90, 91]], [7, [8, 9, 11, 22, 23]]]
Что тут придумать?
ЗЫ: Всякие "Папы" сразу идут лесом
1234567891011
res2 = sorted([[2,[1,2,3]],[7,[8,9]],[2,[4,5,6]],[7,[11,22,23]],[2,[89,90,91]]])
result = []
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 += [[res2[i][0], list(set(m3))]]
else:
m3 = []
print(result)

По дате
По рейтингу
12345
res = {}
for v in [[2,[1,2,3]],[7,[8,9]],[2,[4,5,6]],[7,[11,22,23]],[2,[89,90,91]]]:
res[v[0]] = res.get(v[0], []) + v[1]
result = [[k] + [v] for k, v in res.items()]
print(result)
Больше по теме