【问题标题】:Scala: Finding unique value in a list of tuplesScala:在元组列表中查找唯一值
【发布时间】:2017-12-02 21:51:11
【问题描述】:

我有一个 Scala 中的元组列表:

("BLUE", 2, 4)
("RED", 2, 29)
("GREEN", 29, 0)
("RED", 18, 2)

这个列表很长。我正在寻找一个有效的列表操作,它会给我一个唯一颜色列表(元组中的第一个字符串)。换句话说,我正在寻找这个:

List("RED", "BLUE", "GREEN")

顺序对我来说并不重要。我知道这可以迭代完成,但我正在学习函数式编程,但我不知道如何通过操作来做到这一点。

谢谢!

【问题讨论】:

    标签: string scala set tuples operation


    【解决方案1】:

    怎么样:

    tupleList.map(_._1).distinct

    【讨论】:

      【解决方案2】:

      如果它是一个很长的List,如您所说,那么您只需要遍历一次。

      tups.foldLeft(Set[String]())(_+_._1).toList
      

      【讨论】:

      • 这个解决方案在列表很大的情况下明显优于map/distinct
      猜你喜欢
      • 1970-01-01
      • 2010-11-16
      • 2021-11-08
      • 2011-04-22
      • 2020-10-15
      • 1970-01-01
      • 2016-01-12
      • 2017-12-05
      • 1970-01-01
      相关资源
      最近更新 更多