Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #47364 > unrolled thread

Re: Idiomatic Python for incrementing pairs

Started byTim Chase <python.list@tim.thechases.com>
First post2013-06-07 23:10 -0500
Last post2013-06-07 23:10 -0500
Articles 1 — 1 participant

Back to article view | Back to comp.lang.python

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: Idiomatic Python for incrementing pairs Tim Chase <python.list@tim.thechases.com> - 2013-06-07 23:10 -0500

#47364 — Re: Idiomatic Python for incrementing pairs

FromTim Chase <python.list@tim.thechases.com>
Date2013-06-07 23:10 -0500
SubjectRe: Idiomatic Python for incrementing pairs
Message-ID<mailman.2874.1370664504.3114.python-list@python.org>
On 2013-06-07 23:46, Jason Swails wrote:
> On Fri, Jun 7, 2013 at 10:32 PM, Tim Chase
> >   def calculate(params):
> >     a = b = 0
> >     if some_calculation(params):
> >       a += 1
> >     if other_calculation(params):
> >       b += 1
> >     return (a, b)
> >
> >   alpha = beta = 0
> >   temp_a, temp_b = calculate(...)
> >   alpha += temp_a
> >   beta += temp_b
> >
> > Is there a better way to do this without holding each temporary
> > result before using it to increment?
> 
> alpha = beta = 0
> alpha, beta = (sum(x) for x in zip( (alpha, beta),
> calculate(...) ) )

Yeah, I came up with something similar, but it was so opaque I fell
back to the more readable version I had above.  With only the two
variables to increment in this case, the overhead of duplicating code
doesn't seem as worth it as it might be if there were umpteen
counters being returned as a tuple and umpteen corresponding
variables being updated (at which point, it might make more sense to
switch to another data structure like a dict).  Ah well.  Glad to see
at least I'm not the only one stymied by trying to make it more
pythonic while at least keeping it readable.

-tkc

[toc] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web