En cas de doute: Nan = Non-numeric datatype
aux fins de ce défi.
Écrivez un programme ou une fonction qui prend une matrice / un tableau en entrée, ainsi qu'une liste d'index de colonnes.
Le défi consiste à supprimer les lignes où se trouvent tous les éléments des colonnes spécifiées Nan
. Peu importe que les autres éléments de la ligne soient numériques ou non. Nous espérons que les exemples suivants clarifieront cela (c'est un index):
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:
[]
Règles et clarifications:
- La matrice sera toujours non vide
- Les valeurs numériques seront finies, mais pas nécessairement des entiers ou des valeurs positives
- Le vecteur d'index de colonne peut être vide (auquel cas aucune ligne ne sera supprimée)
- L'index de colonne n'aura jamais de valeurs dépassant les dimensions de la matrice
- Vous pouvez supposer qu'il n'y aura pas de doublons dans la liste d'index des colonnes
- Vous pouvez choisir si vous souhaitez utiliser des valeurs nulles ou indexées (veuillez préciser)
- Vous pouvez prendre l'entrée sur n'importe quel format pratique
- Le tableau comme liste de listes est OK. Les indices de colonne peuvent être des arguments séparés
ans =
et similaire est accepté en sortie- Vous êtes libre de choisir le type de type de données non numérique que vous souhaitez utiliser
- Il devrait être impossible d'effectuer des opérations arithmétiques avec ce type de données, ou de le convertir en un nombre fini à l'aide de fonctions telles que
float(x)
.
- Il devrait être impossible d'effectuer des opérations arithmétiques avec ce type de données, ou de le convertir en un nombre fini à l'aide de fonctions telles que
C'est le code golf, donc le code le plus court en octets gagne.
J
parvz
etK
parQ
.z
est initialisé en entrée,Q
en entrée évaluée.