gpt4 book ai didi

scala - 如何基于元组第一个元素进行总结?

转载 作者:行者123 更新时间:2023-12-04 17:38:39 25 4
gpt4 key购买 nike

我有一个 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) <--

我想根据第一个条目进行总结。第一个条目应该是唯一的。

结果应如下所示:
(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 中实现这一点?

最佳答案

尝试这个:

list groupBy {_._1} mapValues {v => (v.head._1, v.head._2, v map {_._3} sum)}

中间条目被保留,它总是采用输入列表中出现的第一个条目。

关于scala - 如何基于元组第一个元素进行总结?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10065568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com