Scala:如何将数组列表/列表分配给两个变量?

假设我有以下字符串数组:

val lines: List[String] = List("GOOL,1182", "AMZN,1920", "MSFT,124", "APPL,192.2") 

实际上,这种类型的数组通常是通过读取csv文件获得的。

从概念上讲,我想

  1. 对于每一行,用“,”分隔
  2. 拆分所有行之后,将第一列分配给一个列表,将第二列分配给另一个列表。

我想出的方法如下:

var col1List = List[String]()
var col2List = List[String]()
lines.foreach{ x => 
  val cols = x split ","
  col1List = col1List ::: List(cols(0))
  col2List = col2List ::: List(cols(1))
}

之后,我得到以下列表:

List[String] = List(GOOL, AMZN, MSFT, APPL)
List[String] = List(1182, 1920, 124, 192.2)

在Scala中有更好的方法吗?

助力车

您正在寻找的是.unzip方法。

这是一个例子:

val lines: List[String] = List("GOOL,1182", "AMZN,1920", "MSFT,124", "APPL,192.2")
val (l1, l2) = lines.map(_.split(",")).map(arr => (arr.head, arr.last)).unzip
println(l1, l2)

结果:

(List(GOOL, AMZN, MSFT, APPL),List(1182, 1920, 124, 192.2))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将char *分配给数组变量

Xamarin表单:如何将列表分配给ListView

如何将另一个列表分配给“通过引用传递”的列表?

如何将列表列表中的值分配给键以在python中创建字典

如何将单词分配给列表中的值?

如何将变量分配给外部数组文件?

如何将列表元素名称分配给sheetName

如何将列表中的项目分配给变量

如何将变量列表分配给另一个列表

如何将ArrayList分配给列表?

如何将两个连续的输入分配给两个不同的变量?

如何将值列表分配给列表的元素

如何将每个观察值随机分配给两个标签之一

将不同的随机列表分配给两个变量的最短方法是什么?

循环将列表列表分配给数组

如何将数据正确分配给两个消费者?

Python:如何将 2D 列表中项目的索引分配给两个整数变量?

如何将列表中的值、用户输入的代码中的值分配给变量

如何将两个单选按钮的输入分配给单个字段?

如何使用循环将值分配给 Scala 中的列表列表?

如何将列表列表中的数字分配给python 3中的另一个列表列表?

c++ - 如何将两个不同类型的变量分配给一个变量

如何将输入分配给现有列表?

如何同时将两个不同的值分配给两个变量

如何将两个值相乘分配给文本?

如何将两个单独的列表列表更改为单个列表列表?

如何将两个函数返回值分配给两个变量并在同一行中使用它们?

如何将列表中的对象分配给变量?

如何将函数分配给 Tkinter 中具有两个不同变量的按钮?