gpt4 book ai didi

scala - 如何在 Scala 的 map 中访问列表的元组?

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

我有一张格式图

scala.collection.mutable.Map[String,List[(Int, Int, Int)]]

并且我希望能够访问各个 Int 的。 Map 中的数据格式始终为

Mon-18-June-2018,1:10:5,2:20:10,3:30:15,4:40:20,5:50:25

其中日期是 Map 的键,每组三个数字是 (Int, Int, Int)

到目前为止,我已经能够以这种格式打印 map

Mon-18-June-2018
List((1,10,5), (2,20,10), (3,30,15), (4,40,20), (5,50,25))

使用下面的代码

map.keys.foreach{i =>
println(i)
println(map(i))

我希望能够访问元组中的各个值。例如,我希望能够将每个元组的每个第二个和第三个值加在一起
(1,10,5)
(2,20,10)
(3,30,15)
(4,40,20)
(5,50,25)

得到
(6,150,75)

我该怎么做?

最佳答案

您可以使用模式匹配来访问元组的元素。

val dateMap :Map[String,List[(Int, Int, Int)]] =
Map("Mon-18-June-2018" ->
List((1,10,5), (2,20,10), (3,30,15), (4,40,20), (5,50,25)))

dateMap.values.map(_.fold((1,0,0)){case ((a,b,c),(x,y,z)) => (a+1,b+y,c+z)})
//res0: Iterable[(Int, Int, Int)] = List((6,150,75))

关于scala - 如何在 Scala 的 map 中访问列表的元组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55587754/

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