Modify each element depending on previous elements
L = {{h -> 1}, {h -> 2}};
Y = Thread[y -> Flatten[Accumulate[Values@L ] - Values@L/2]];
Join[L, List /@ Y, 2]
{{h -> 1, y -> 1/2}, {h -> 2, y -> 2}}
Or
MapThread[Append] @ {L, Y}
{{h -> 1, y -> 1/2}, {h -> 2, y -> 2}}
Or
Flatten /@ Thread @ {L, Y}
{{h -> 1, y -> 1/2}, {h -> 2, y -> 2}}
Clear[h, y]
a = {1, 2};
b = Accumulate[a] - a/2;
Transpose[{Thread[h -> a], Thread[y -> b]}]
{{h -> 1, y -> 1/2}, {h -> 2, y -> 2}}