Steven D'Aprano wrote: [snip]
> def running_sum(dw): > """Return a list of the running sums of sequence dw""" > rs = [0]*len(dw) > for i in range(len(dw)): > rs[i] = dw[i] + rs[i-1] Please explain to the newbies why there is no exception raised when rs[i-1] is executed for i == 0, and state whether you consider this is a Good Idea or a Filthy Trick or a Fortunate Accident. > return rs > > It isn't a one-liner, but it is clear, the name is self-documenting, it > has a doc-string, you don't have to copy-and-paste code every time you > want to use it, and now that you've defined it once, you can use it as a > one-liner as many times as you like. > > >>> running_sum(range(5)): > [0, 1, 3, 6, 10] -- http://mail.python.org/mailman/listinfo/python-list