¿Existe alguna forma en Scala de seleccionar un subconjunto de List[Array[Int]] verificando cada elemento de cada Array[Int]?
Nuevo en Scala. Tengo datos en forma de List[Array[Int]], cada Array[Int] tiene n enteros, llamémoslo a. También hay dos Array[int], llámelos c y d, también de longitud n. Quiero comparar cada elemento de cada fila de a con el elemento correspondiente de c y d (es decir, del mismo índice) y devolver aquellas filas que coinciden con c o d.
No hay nada en juego aquí, solo estoy aprendiendo Scala por mi cuenta.
davy.ai
Para resolver este problema, puedes usar el método filter en Scala para comparar cada elemento de cada fila de List[Array[Int]] con el elemento correspondiente de Array[Int] c y d, y devolver las filas que coincidan con c o d. Aquí hay un ejemplo de código que hace esto:
En este código, primero definimos una List[Array[Int]] a y dos Array[Int] c y d. Luego, definimos una función matchRow que toma una fila de a y la compara con c y d utilizando el método corresponds en Scala. El método corresponds aplica un operador binario a cada elemento de la fila y el elemento correspondiente del array, y devuelve true si todas las comparaciones son verdaderas. Aquí, utilizamos el operador de igualdad _ == _ para comparar los elementos.
Finalmente, aplicamos el método filter a a y mantenemos solo aquellas filas que coinciden con c o d utilizando la función matchRow. El resultado se almacena en la variable result.
Este código debería producir la siguiente salida:
que son las filas de a que coinciden con c o d.