Я пытаюсь написать функцию, которая проверяет элементы в матрице и возвращает другую матрицу результатов в логических значениях.
Ввод:
X
: список2D-возрастной массив, как описано выше.
Выходные данные:
Функция должна возвращать 2D-массив с записями 0 или 1, как описано выше.
Функция должнабегите в 15 раз быстрее, чем этот:
def check_elems(X):
out = [[0]*len(X[0]) for _ in range(len(X))]
for i in range(len(X)):
for j in range(len(X[i])):
check = X[i][j]
if check>=14 and check%5==4 and check!=19:
out[i][j] = 1
return out
Вот конкретный пример:
- Человек по крайней мере 14
- Возраст человека заканчивается в 4 или9
- И человек не 19
Например, массив возрастов
[[22, 13, 31, 13],
[17, 14, 24, 22]]
будет иметь выходной массив:
[[0, 0, 0, 0],
[0, 1, 1, 0]]