У меня есть несколько списков и значений, вложенных друг в друга с произвольной глубиной.
nested = [
3,
[1, 4, 2],
[3, [5], 6, 7, [5]],
[3],
[[1, 1],[2, 2]]
]
Я пытаюсь установить значение внутри этого вложенного беспорядка
используя произвольно длинный индекс.
Пример индекса:
index = (2, 1)
Таким образом, установка элемента в примере индекса:
nested[2][1] = new_value
Если мы знаем длину индекса, мы можем:
nested[index[0]][index[1]] = new_value
Проблема в том, что индекс не является установленной длиной!
Я понял, как получить значение для индекса произвольной длины:
def nested_get(o, index):
if not index:
return o
return nested_get(o[index[0]], index[1:])
Я знаю, что numpy массивы могут делать это следующим образом: np_array[index] = new_value
Как я могу реализовать функцию, которая делает что-то подобное, но с чистым питоном? Что-то вроде nested_get
, но для установки значения.