如何对列表中的整数和浮点数求和-Scala

循环新

我需要计算我在Map中的整数和浮点数,就像 Map[String, List[(Int, String, Float)]]

数据来自读取文件-例如,里面的数据看起来有点像(但是还有一些Routes):

Cycle Route (City),1:City Centre :0.75f,2:Main Park :3.8f,3:Central Station:2.7f,4:Modern Art Museum,5:Garden Centre:2.4f,6:Music Centre:3.4f

拆分地图,使“字符串”为路线名称,“列表”为其余数据。

我希望它计算每条路线的“检查点”数量和每条路线的总距离(即浮动车位),然后打印出来,例如Oor Wullie Route有6个检查点,总距离为18.45公里

我猜我需要使用a,foldLeft但是我不确定该怎么做?

我之前做过的简单折叠示例,但不确定如何将其应用于上述情况吗?

val list1 = List.range(1,20)

def sum(ls:List[Int]):Int = {
  ls.foldLeft(0) { _ + _}
}
迪伦

您可以轻而易举地做到这一点,但是IMO是不必要的。

您只需通过获取列表的大小即可知道检查点的数量(假设列表中的每个条目都是一个检查点)。

要计算总距离,您可以执行以下操作:

def getDistance(list: List[(Int, String, Float)]): Float = 
  list
    .iterator // mapping the iterator to avoid building an intermediate List instance
    .map(_._3) // get the distance Float from the tuple
    .sum // built-in method for collections of Numeric elements (e.g. Float)

然后像这样获得打印输出:

def summarize(routes: Map[String, List[(Int, String, Float)]]): Unit =
  for { (name, stops) <- routes } {
    val numStops = stops.size
    val distance = getDistance(stops)
    println(s"$name has $numStops stops and total distance of $distance km")
  }

如果您真的想同时通过numStops计算,那么Luis对您的问题的评论就是这样做的方法。distancefoldLeft

编辑-根据Luis的要求,将他的评论放在这里并进行一些清理:

stops.foldLeft(0 -> 0.0f) { 
   // note: "acc" is short for "accumulated"
   case ((accCount, accDistance), (_, _, distance)) => 
     (accCount + 1) -> (accDistance + distance) 
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么在scala中,将整数和浮点数(例如71 == 71.0)进行比较是正确的?

来自分类Dev

在列表中查找整数和浮点数

来自分类Dev

键入以捕获整数,浮点数或字符串值,然后在Scala中进行模式匹配

来自分类Dev

如何从包含熊猫系列对象和浮点数的列表中删除浮点数值

来自分类Dev

如何比较浮点数和整数

来自分类Dev

对Scala中的对象列表求和

来自分类Dev

从列表中仅提取整数(而不是浮点数)

来自分类Dev

从列表中仅提取整数(而不是浮点数)

来自分类Dev

如何从浮点数列表中获取python中的公共整数?

来自分类Dev

如何在 Python 的字典列表中更改值类型(从浮点数到整数)?

来自分类Dev

如何对浮点数数组求和

来自分类Dev

在Sympy求解器中浮点数和整数

来自分类Dev

在VHDL中乘以浮点数和整数文字

来自分类Dev

在python中绘制浮点数和整数的直方图

来自分类Dev

如何将整数位放在浮点数中?

来自分类Dev

如何获取熊猫中浮点数列的整数部分

来自分类Dev

在Excel中,如何过滤整数及其对应的浮点数?

来自分类Dev

如何在 YAML 中输出整数浮点数?

来自分类Dev

获取整数和浮点数的属性

来自分类Dev

联合浮点数和整数

来自分类Dev

从xml获取整数和浮点数

来自分类Dev

Matplotlib:混合整数和浮点数

来自分类Dev

如何从列表中删除所有非浮点数字和重复项

来自分类Dev

浮点数的整数

来自分类Dev

如何使列表中的每个对象成为浮点数

来自分类Dev

如何舍入嵌套元组列表中的每个浮点数

来自分类Dev

如何从python列表中的元素中提取浮点数?

来自分类Dev

如何在python的列表中添加浮点数?

来自分类Dev

XSLT:如何舍入属性中的浮点数列表?

Related 相关文章

热门标签

归档