2

私は2次元配列を持っています

val A = Array((10.0,1.0,2.0,3.0),(20.0,4.0,5.0,6.0),(10.0,7.2.8.0,9.0))

10 に等しい最初の要素をフィルタリングし、他の要素の値を取得するにはどうすればよいですか?

次のような結果:

x = Array((1.0,2.0,3.0),(7.2.8.0,9.0))

x(i) を使用して、配列内の値を取得できます

ありがとう !:)

4

2 に答える 2

0

次のようにできます。

A.filter(_._1 == 10).map{case (a,b,c,d)=>(b,c,d)}

またはこのように:

for ((a,b,c,d) <- A if a == 10) yield (b,c,d)

(ちなみに、本当に必要な場合を除き、Scala では配列を使用しないことをお勧めします。Seq や Vector などの不変コレクションを使用することをお勧めします。Scala コレクションの (やや古い) 紹介がここにあります。)

于 2013-11-06T00:40:27.590 に答える