2017-11-14 2 views
-1

Ich versuche, einen Wert aus einer verschachtelten Liste in Scala zu holen, aber irgendwie kann ich keine Lösung finden.Scala verschachtelte Listen

Ich habe eine Liste erstellt, wie:

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

I 7 als die Ausgabe benötigen.

In Python, für die gleiche Sache, Ich schaffe Liste als

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

die Ausgabe als 7 zu erhalten, ich bin

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

Bitte empfehlen Sie mir, wie das zu erreichen, gleiches in Scala.

Vielen Dank im Voraus.

+0

verwenden können Ich bin neu in Scala und habe es von meinem Ende aus versucht. Ich konnte keine Lösung finden, deshalb frage ich hier. –

Antwort

0

Sie productElement wie unten

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 
+1

Das könnte funktionieren, aber ist super super Typ unsicher! –

+0

@LukaJacobowitz Können Sie mir helfen, es besser zu verstehen? –

+0

Tzachs Antwort sollte Ihnen eine gute Idee geben! :) –

2

list3 ist keine Liste von Listen, es ist eine Liste von Tupel. Sie können eine Liste-of-Listen erstellen, wie folgt:

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

Dann würde die Scala-Version Ihrer Python-Code arbeiten:

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

Ich verstehe es. Ihre Antwort hat mir eine bessere Klarheit gegeben. –