加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在scala中组合两个列表

发布时间:2020-12-16 09:34:08 所属栏目:安全 来源:网络整理
导读:我是新来的scala,有什么可能是一个很简单的问题。我有两个列表((Int,String)),并希望组合字符串相同的整数。例如: l1 = List((1,"a"),(3,"b"))l2 = List((3,(4,"c")) 我想把这些组合成第三个列表: l3 = List((4,"b"),"c")) 现在我正在遍历这两个列表,
我是新来的scala,有什么可能是一个很简单的问题。我有两个列表((Int,String)),并希望组合字符串相同的整数。例如:

l1 = List((1,"a"),(3,"b"))
l2 = List((3,(4,"c"))

我想把这些组合成第三个列表:

l3 = List((4,"b"),"c"))

现在我正在遍历这两个列表,如果字符串是相同的,我认为应该有一个简单的模式匹配解决方案。任何帮助是赞赏。

解决方法

val l = l1 ::: l2
val m = Map[String,Int]()
(m /: l) {
  case (map,(i,s)) => { map.updated(s,i + (map.get(s) getOrElse 0))}
}.toList // Note: Tuples are reversed.

但是,假设有更优雅的方式来做更新的部分。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读