a more pythonic way to express conditionally bounded loop?
Posted
by msw
on Stack Overflow
See other posts from Stack Overflow
or by msw
Published on 2010-04-26T05:31:07Z
Indexed on
2010/04/26
5:33 UTC
Read the original article
Hit count: 442
I've got a loop that wants to execute to exhaustion or until some user specified limit is reached. I've got a construct that looks bad yet I can't seem to find a more elegant way to express it; is there one?
def ello_bruce(limit=None):
for i in xrange(10**5):
if predicate(i):
if not limit is None:
limit -= 1
if limit <= 0:
break
def predicate(i):
# lengthy computation
return True
Holy nesting! There has to be a better way. For purposes of a working example, xrange
is used where I normally have an iterator of finite but unknown length (and predicate sometimes returns False).
© Stack Overflow or respective owner