В случае каких-либо сомнений: Nan = Non-numeric datatype
для целей этого вызова.
Напишите программу или функцию, которая принимает матрицу / массив в качестве входных данных, а также список индексов столбцов.
Задача состоит в том, чтобы удалить строки, в которых находятся все элементы в указанных столбцах Nan
. Не имеет значения, являются ли другие элементы в строке числовыми или нет. Надеемся, что следующие примеры сделают это более понятным (он одноиндексный):
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:
[]
Правила и разъяснения:
- Матрица всегда будет непустой
- Числовые значения будут конечными, но не обязательно целыми или положительными
- Вектор индекса столбца может быть пустым (в этом случае строки не будут удалены)
- Индекс столбца никогда не будет иметь значений, превышающих размеры матрицы
- Вы можете предположить, что в списке индексов столбцов не будет дубликатов
- Вы можете выбрать, хотите ли вы использовать нулевые или одноиндексированные значения (пожалуйста, укажите)
- Вы можете принять вход в любом удобном формате
- Массив как список списков в порядке. Индексы столбцов могут быть отдельными аргументами
ans =
и подобное принимается в выводе- Вы можете выбрать, какой тип нечислового типа данных вы хотите использовать
- Должно быть невозможным выполнение арифметических операций с этим типом данных или преобразование его в конечное число с использованием таких функций, как
float(x)
.
- Должно быть невозможным выполнение арифметических операций с этим типом данных или преобразование его в конечное число с использованием таких функций, как
Это код гольф, поэтому выигрывает самый короткий код в байтах.
J
наvz
иK
сQ
.z
инициализируется для ввода,Q
для оцениваемого ввода.