Aug-09-2020, 05:18 PM
I'm not quite sure what you are after but maybe your better of with a class ?
class External: def __init__(self, a, b, lval, hval, yr): G, E = [], [] for i in range(len(a)): G.append(0 if min(b[i], hval) < max(a[i], lval) else min(b[i], hval) - max(a[i], lval)) for i in range(len(a)): E.append(b[i] - a[i] - G[i]) self.E = E self.yr = yr @property def ratio(self): return max(self.E[:-self.yr]) @property def index(self): return self.E.index(self.ratio) L = [1.238623532, 1.315924461, 1.430787909, 0.65436604, 0.78646411, 1.551692625, 1.143410924, 1.044302349, 1.12971696, 1.007285185, 1.009553518, 0.646888596, 1.027950548, 0.950471257, 1.048221271, 1.070840989] H = [1.514019069, 1.662165686, 3.098538659, 3.148539828, 2.248779234, 2.542734245, 2.312232392, 1.855592543, 1.99976568, 1.715706499, 2.111987812, 1.74066515, 2.038750404, 2.058942087, 2.0941254, 1.498883955] external = External(L, H, 1.00955235351066, 2.03874956866074, 6) print(external.ratio, external.index)
Output:1.4649765728499204 3