Вы можете попробовать следующее:
import numpy as np
def zero_pad(a, newlen):
result = np.zeros(newlen, dtype=a.dtype)
result[:len(a)] = a
return result
# alternatively: return np.pad(a, (0, newlen - len(a)), 'constant')
def get_value(a, b, c, d, e):
maxlen = max([len(ar) for ar in [a, b, c, d, e]])
a = zero_pad(a, maxlen)
b = zero_pad(b, maxlen)
c = zero_pad(c, maxlen)
d = zero_pad(d, maxlen)
e = zero_pad(e, maxlen)
return a + (b * d) + (c * e)
print(get_value(np.arange(4), np.arange(8), np.arange(3), np.arange(2), np.arange(5)))