Создание нового списка, который добавляет и суммирует элементы из старого списка

У меня есть список xxs и мне нужно создать новый, который добавляет и суммирует элементы из старого списка.

Позвольте мне нарисовать его для демонстрации:

visualization of list transformation

Итак, у меня есть список:

xxs = [("a","b", [(1,"a","b"),(2,"a","b")]), ("c","d",[(3,"a","b"),(4,"a","b")])]

Мой лучший подход на данный момент:

infoBasicas = [ (x,y,aux) | (x,y,_) <- xxs]
    where aux = sum [ z | (_,_,ys) <- xxs, (z,_,_) <- ys] 

Выход:

[("a","b",10),("c","d",10)]

Хотя я не далеко... Я еще не совсем там и был бы очень признателен за некоторые предложения.

11
задан Bill the Lizard 16 September 2012 в 22:34
поделиться