¿Qué tiene de malo esta suma acumulativa?

Estoy tratando de obtener [1,3,6] como resultado. ¿Me estoy perdiendo algo realmente obvio? El error que obtuve es:IndexError: list index out of range

def cumulative_sum(n):
    cum_sum = []
    y = 0
    for i in n:
        y += n[i]
        cum_sum.append(y)

    print cum_sum

a = [1,2,3]
cumulative_sum(a)