Caso haja alguma dúvida: Nan = Non-numeric datatype
para os propósitos deste desafio.
Escreva um programa ou função que use uma matriz / matriz como entrada, bem como uma lista de índices de coluna.
O desafio é remover as linhas onde estão todos os elementos nas colunas especificadas Nan
. Não importa se outros elementos na linha são numéricos ou não. Esperamos que os exemplos a seguir tornem isso mais claro (é um indexado):
Input array:
16 NaN 3 13
5 11 NaN 8
NaN 7 NaN 12
4 14 -15 1
Input column index: [1 3]
Output array:
16 NaN 3 13
5 11 NaN 8
4 14 -15 1
----
Input array:
16 NaN 3 13
5 11 NaN 8
NaN 7 NaN 12
4 14 -15 1
Input column index: 3
Output array =
16 NaN 3 13
4 14 -15 1
----
Input array:
NaN NaN NaN NaN
NaN NaN NaN NaN
NaN NaN NaN NaN
NaN NaN NaN NaN
Input column index: 1 2 4
Output array:
[]
Regras e esclarecimentos:
- A matriz sempre estará vazia
- Os valores numéricos serão finitos, mas não necessariamente inteiros ou valores positivos
- O vetor de índice da coluna pode estar vazio (nesse caso, nenhuma linha será removida)
- O índice da coluna nunca terá valores que excedam as dimensões da matriz
- Você pode assumir que não haverá duplicatas na lista de índices da coluna
- Você pode escolher se deseja usar valores indexados com zero ou um (especifique)
- Você pode levar a entrada em qualquer formato conveniente
- A matriz como lista de listas está OK. Os índices da coluna podem ser argumentos separados
ans =
e similar é aceito na saída- Você é livre para escolher que tipo de tipo de dados não numérico deseja usar
- Deve ser impossível executar operações aritméticas com esse tipo de dados ou convertê-lo em um número finito usando funções como
float(x)
.
- Deve ser impossível executar operações aritméticas com esse tipo de dados ou convertê-lo em um número finito usando funções como
Este é o código golf, pelo que o código mais curto em bytes vence.
J
porvz
eK
comQ
.z
é inicializado para entrada,Q
para entrada avaliada.