Как подвести итоги на основе первого элемента кортежей?

У меня есть список из 3-х кортежей, подобный следующему [я добавил разрывы строк для удобства чтения]:

(2, 127, 3)
(12156, 127, 3)
(4409, 127, 2) <-- 4409 occurs 2x
(1312, 127, 12) <-- 1312 occurs 3x

(4409, 128, 1) <-- 
(12864, 128, 1)
(1312, 128, 1) <-- 
(2664, 128, 2)

(12865, 129, 1)
(183, 129, 1)
(12866, 129, 2)
(1312, 129, 10) <--

I хочу подвести итог на основе первой записи. Первая запись должна быть уникальной.

Результат должен выглядеть следующим образом:

(2, 127, 3)
(12156, 127, 3)
(4409, 127, 3) <- new sum = 3
(1312, 127, 23) <- new sum = 23

(12864, 128, 1)
(2664, 128, 2)

(12865, 129, 1)
(183, 129, 1)
(12866, 129, 2)

Как я могу добиться этого в Scala?

5
задан user1243091 8 April 2012 в 19:06
поделиться