Я хочу выполнять поэлементные математические операции (например, суммирование, умножение ...) над двумя списками Python, содержащими числа, или несколькими вложенными списками, которые могут снова содержать числа или списки и так далее.
При выполнении операции формы двух списков равны. Кроме того, результат должен иметь ту же форму, что и два входных списка.
Форма может отличаться:
длина,
ширина (т.е. количество вложений),
порядок (например, списки начинаются с номера, за которым следует вложенный список, но также может быть так, что он начинается с вложенного списка, за которым следуют числа).
Форма меняется произвольно каждый раз, когда я хочу выполнить математическую операцию.
Как я могу выполнять математические операции со списками произвольной формы?
В прошлом я реализовал индивидуальный фрагмент кода для каждой формы, аналогичный 1, 2, 3, 4, 5, 6, 7, приведет к Пример 2 (суммирование): приведет к Пример 3 (умножение): приведет кa = [ 1, 2, 3, 4,[ 5, 6, 7, 8]]
b = [10,20,30,40,[50,60,70,80]]
c = elementwiseSUM(a,b)
c
[11, 22, 33, 44, [55, 66, 77, 88]]
d = [ 1,[ 2, 3], 4, [ 5, 6, 7], [[ 8], [ 9, 10]]]
e = [10,[20,30], 40, [50,60,70], [[80], [90,100]]]
f = elementwiseSUM(d,e)
f
[11, [22, 33], 44, [55, 66, 77], [[88], [99, 110]]]
g = [[4,2],1,1]
h = [[8,3],1,9]
i = elementwiseMUL(g,h)
i
[[32, 6], 1, 9]
elementwiseSUM()
и elementwiseMUL()
- это заполнители для библиотечных функций, которые я ищу.