Hi All, I have a list of records like below:
rec=[{"F1":1, "F2":2}, {"F1":3, "F2":4} ] Now I want to write code to find out the ratio of the sums of the two fields. One thing I can do is: sum(r["F1"] for r in rec)/sum(r["F2"] for r in rec) But this is slow because I have to iterate through the list twice. Also, in the case where rec is an iterator, it does not work. I can also do this: sum1, sum2= reduce(lambda x, y: (x[0]+y[0], x[1]+y[1]), ((r["F1"], r["F2"]) for r in rec)) sum1/sum2 This loops through the list only once, and is probably more efficient, but it is less readable. I can of course use an old-fashioned loop. This is more readable, but also more verbose. What is the best way, I wonder? -a new python programmer -- http://mail.python.org/mailman/listinfo/python-list