In caso di dubbi: Nan = Non-numeric datatype
ai fini di questa sfida.
Scrivi un programma o una funzione che accetta una matrice / matrice come input, nonché un elenco di indici di colonna.
La sfida è rimuovere le righe in cui si trovano tutti gli elementi nelle colonne specificate Nan
. Non importa se altri elementi nella riga sono numerici o meno. Si spera che i seguenti esempi lo chiariscano (è un indice):
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:
[]
Regole e chiarimenti:
- La matrice sarà sempre non vuota
- I valori numerici saranno finiti, ma non necessariamente numeri interi o positivi
- Il vettore dell'indice di colonna può essere vuoto (nel qual caso nessuna riga verrà rimossa)
- L'indice di colonna non avrà mai valori che superano le dimensioni della matrice
- Puoi presumere che non ci saranno duplicati nell'elenco dell'indice delle colonne
- Puoi scegliere se vuoi usare valori zero o uno-indicizzati (specificare)
- Puoi prendere l'input in qualsiasi formato conveniente
- La matrice come elenco di elenchi è OK. Gli indici di colonna possono essere argomenti separati
ans =
e simili sono accettati in uscita- Sei libero di scegliere quale tipo di tipo di dati non numerico desideri utilizzare
- Dovrebbe essere impossibile eseguire operazioni aritmetiche con questo tipo di dati o convertirlo in un numero finito usando funzioni come
float(x)
.
- Dovrebbe essere impossibile eseguire operazioni aritmetiche con questo tipo di dati o convertirlo in un numero finito usando funzioni come
Questo è il codice golf, quindi vince il codice più breve in byte.
J
convz
eK
conQ
.z
viene inizializzato per l'input,Q
per l'input valutato.