Scala嵌套列表

时间:2017-11-14 15:02:21

标签: python scala scala-collections nested-lists

我正在尝试从Scala中的嵌套列表中获取值,但不知怎的,我无法找到解决方案。

我创建了一个列表:

var list3 = List((1,2,3),(4,5,6),(7,8),(9,10,11,12))

我需要7作为输出。

在Python中,同样的事情,我正在创建列表

list3 = [[1,2,3],[4,5,6],[7,8],[9,10,11,12]]

要将输出设为7,我正在使用

list3[len(list3) -2][len(list3) -4]

请建议我如何在Scala中实现相同目标。

提前致谢。

2 个答案:

答案 0 :(得分:2)

list3不是列表列表,而是元组的列表。您可以按如下方式创建列表列表:

var list3 = List(List(1,2,3),List(4,5,6),List(7,8),List(9,10,11,12))

然后,您的python代码的Scala版本将起作用:

scala> list3(list3.size - 2)(list3.size - 4)
res3: Int = 7

答案 1 :(得分:0)

您可以使用productElement,如下所示

scala> var list3 = List((1,2,3),(4,5,6),(7,8),(9,10,11,12))
list3: List[Product with Serializable] = List((1,2,3), (4,5,6), (7,8), (9,10,11,12))

scala> list3(list3.length -2).productElement(list3.length-4)
res0: Any = 7