Idiomatic Python for incrementing pairs

Tim Chase python.list at tim.thechases.com
Sat Jun 8 00:16:22 EDT 2013


On 2013-06-08 07:04, Carlos Nepomuceno wrote:
> alpha, beta = (1 if some_calculation(params) else 0, 1 if
> other_calculation(params) else 0)

This one sets them to absolute values, rather than the incrementing
functionality in question:

> >   alpha += temp_a
> >   beta += temp_b

The actual code in question does the initialization outside a loop:

  alphas_updated = betas_updated = 0
  for thing in bunch_of_things:
    a, b = process(thing)
    alphas_updated += a
    betas_updated += b

and it just bugs me as being a little warty for having temp
variables when Python does things like tuple-unpacking so elegantly.
That said, as mentioned in a contemporaneous reply to Jason, I haven't
found anything better that is still readable.

-tkc






More information about the Python-list mailing list