在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. 但是,假设有更优雅的方式来做更新的部分。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |