def arr_to_dict(arr):
    """
        takes in an numpy array or list of lists (tuple of tuples) and returns a dictionary with indices, values
        Example
            arr_to_dict([['a','b'],['c','#']]) == {(0, 0): 'a', (0, 1): 'b', (1, 0): 'c', (1, 1): '#'}
    """
    d = {}
    if isinstance(arr, str):
        print('only works with list of lists or np.ndarray. Use grid_to_dict if input is a string grid ')
        return
    for i in range(len(arr)):
        for j in range(len(arr[0])):
            d[(i,j)] = arr[i][j]
    return d