【问题标题】:slice scala LIst by elements value按元素值切片scala LIst
【发布时间】:2015-11-28 12:35:57
【问题描述】:

有这样的列表

List(List(9, 1, 9), 
   List(9, 1, 8), 
   List(8, 2, 7), 
   List(8, 2, 6), 
   List(7, 3, 5), 
   List(7, 3, 4))

我想按第二个元素分割列表,像这样

List(List(List(9, 1, 9), List(9, 1, 8)), //second elem is "1"
     List(List(8, 2, 7), List(8,2,6)),   //second elem is "2"
     List(List(7, 3, 5), List(7,3,4)),    //second elem is "3"

我可以通过使用冗长的 for 循环来做到这一点,但它太冗长了。 我也尝试使用跨度,但我没有得到第二个元素。 什么是最好的方法?

【问题讨论】:

    标签: html arrays list scala slice


    【解决方案1】:
    val l = List(List(9, 1, 9),
        List(9, 1, 8),
        List(8, 2, 7),
        List(8, 2, 6),
        List(7, 3, 5),
        List(7, 3, 4))
    
    
      l.groupBy( {case first::second::tail => second} ).values.toList
    

    【讨论】:

      猜你喜欢
      • 2019-06-23
      • 2020-08-10
      • 1970-01-01
      • 1970-01-01
      • 2019-10-25
      • 1970-01-01
      • 2020-09-27
      • 2014-03-07
      • 1970-01-01
      相关资源
      最近更新 更多