array1 = [0, 1, 5 [5, [1, 2, 3, 4, 5,  6,  7,  8,  9,  10], 0,  0,  0,  0]]     #какой-то изначальный многомерный массив
def some_way(arr):     #возвращает "путь" к 1 (допустим рандомный) из элементов передаваемого в формате str
    some code
    return way_to_some_element
path = some_way(array1)
array path = 5     #равносильно с array[5][0][что-то там-то] = 5 (значения в скобках могут изменяться в зависимости от каких-нибудь параметров функции)
print(array)def change(arr, indexes, value):
    head, tail = indexes[:-1], indexes[-1]
    for i in head:
        arr = arr[i]
    arr[tail] = value
>>> arr = [0, 1, 5, [5, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 0,  0,  0,  0]]
>>> change(arr, [3, 1, 0], 999)
>>> arr
[0, 1, 5, [5, [999, 2, 3, 4, 5, 6, 7, 8, 9, 10], 0, 0, 0, 0]]