On Thursday, June 19, 2014 7:39:42 PM UTC+5:30, Ian wrote: > On Thu, Jun 19, 2014 at 3:48 AM, wrote: > > > I am trying to see this line, > > > prev_f_sum = sum(f_prev[k]*a[k][st] for k in states) > > > > > > a[k][st], and f_prev[k] I could take out and understood. > > > Now as it is doing sum() so it must be over a list, > > > I am trying to understand the number of entities in the list, thinking > > whether to put len(), and see for which entities it is doing the sum. > > > > It's summing a generator expression, not a list. If it helps to > > understand it, you could rewrite that line like this: > > > > values_to_be_summed = [] > > for k in states: > > values_to_be_summed.append(f_prev[k]*a[k][st]) > > prev_f_sum = sum(values_to_be_summed) > > > > So the number of entities in the list is len(states).
Dear Group, Thank you for your kind answer. As I put from the error I discovered it. Please see my experiment almost near to your answer. I am trying one or two questions like, why it is appending only two values at a time. If you want to assist you may kindly help me assist me. Regards, Subhabrata Banerjee. ******************************************************************************* MY EXPERIMENT ******************************************************************************* else: for k in states: print "YYY1",f_prev[k] print "YYY2",a[k][st] prev_f_sum1=f_prev[k]*a[k][st] print "YYY3",prev_f_sum1 prev_f_sum2 = sum(f_prev[k]*a[k][st] for k in states) print "YYY4",prev_f_sum2 ******************************************************************************* -- https://mail.python.org/mailman/listinfo/python-list