scala> val alco = List(("Light Beer","4%","23 OZ"),("Regular Beer","6%","23 OZ"))
alco: List[(String,String,String)] = List((Light Beer,4%,23 OZ),(Regular Beer,6%,23 OZ))
scala> val (_,temp,_) = alco(0)
temp: String = 4%
scala> val temp = alco(0)._2
temp: String = 4%
请注意,按索引访问Scala列表具有O(n)
的复杂性,其中n
是列表的大小。因此,如果要遍历它们-最好使用map
,collect
,foldLeft
或foreach
调用:
scala> alco.map { case (_,_) => temp }
res0: List[String] = List(4%,6%)
scala> alco.foreach { x => println(x._2) }
4%
6%
,
@Andriy指出:
val alco = List(("Light Beer","23 OZ"))
的类型为List[Tuple3[String,String]]
,并且由于Tuple3
没有get
方法,因此您会收到错误消息。
scala.Tuple3
要解决此问题,只需按如下所示定义列表:
val alco = List(List("Light Beer",List("Regular Beer","23 OZ"))
这样,它将是List[List[String]]
类型,您的代码应该可以工作。
本文链接:https://www.f2er.com/3130031.html