Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:
null
. null
. null
, как если бы это был массив. null
, как если бы это был массив. null
как будто это было значение Throwable. Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null
.
Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html
Вы можете просто использовать библиотеку NumPy следующим образом:
import numpy as np
grid = np.array([['.','.','.','.','.','.','.'],
['.','C','-','C','-','C','.'],
['.','.','.','|','.','.','.'],
['.','.','.','C','.','.','.'],
['.','.','.','.','.','.','.'],
['.','.','.','.','.','.','.'],
['.','.','.','.','.','.','.']])
grid = np.where(grid=='.', '0', grid)
grid = np.where(grid=='C', '1', grid)
grid = np.where(grid=='-', '2', grid)
grid = np.where(grid=='|', '3', grid)
# your mapping
m = '.C-|'
# iterate rows then inside iterate columns
out = [[m.index(c) for c in r] for r in grid]