Understanding Python Code
Ian Kelly
ian.g.kelly at gmail.com
Thu Jun 19 10:09:42 EDT 2014
On Thu, Jun 19, 2014 at 3:48 AM, <subhabangalore at gmail.com> 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).
More information about the Python-list
mailing list