【问题标题】:Scala: extract each value for each key in a Map using for loopScala:使用for循环为Map中的每个键提取每个值
【发布时间】:2021-12-30 16:15:41
【问题描述】:

我正在尝试从键 v1v2 中提取值。

我希望它像这样打印

首先是 v1

  • 900
  • 1800

然后是 v2

  • 700
  • 800
  • 2600
  • 1800
  • 2100

这是我已经完成了多少,但我在第二个 for 循环中遇到了一个错误,我不知道如何解决。这种写scala方法是解决这个问题还是有更好的方法?

     val some_numbers = Map("v1"->(900, 1800),
                            "v2"->(700, 800, 2600, 1800, 2100))
     
     for ((key,values) <-some_numbers) {
       for(value<-values)
         print(value)
     }

【问题讨论】:

标签: scala dictionary for-loop


【解决方案1】:

您不能直接迭代元组值。

我不知道您的应用程序需要什么。顺便说一句,您可以使用 productIterator 对元组进行迭代:

 for ((key,values) <-some_numbers) {
   for(value<-values.productIterator) {
     println(value)
   }
 }

这应该可以。但在这种情况下,使用 List 而不是 tuple 可能会更好!

【讨论】:

    猜你喜欢
    • 2021-08-11
    • 1970-01-01
    • 1970-01-01
    • 2017-02-08
    • 1970-01-01
    • 2020-09-04
    • 1970-01-01
    • 2013-08-07
    • 1970-01-01
    相关资源
    最近更新 更多