вы можете использовать тот факт, что int(bool(x))
равен 0
для 0
и 1
для чего-либо еще:
d = [[0, 0, 192], [0, 0, 0, 0, 56]]
d = [[int(bool(x)) for x in l] for l in d]
print(d)
Выход:
[[0, 0, 1], [0, 0, 0, 0, 1]]
Если вы уже используете numpy (как подсказывает ваша собственная попытка решения), вы можете просто использовать np.where
следующим образом:
import numpy as np
d = np.array([[0, 1, 2], [3, 0, 4], [5, 6, 0]])
d = np.where(d == 0, 0, 1)
print(d)