Identifying the start of good data in a list
Terry Reedy
tjreedy at udel.edu
Tue Aug 26 22:52:27 EDT 2008
Matthew Fitzgibbons wrote:
> tkpmep at hotmail.com wrote:
>
> reHist = [0, 0, 1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
> count = 0
> for i, d in enumerate(reHist):
> if d == 0:
> count = 0
> else:
> count += 1
> if count == 5:
> break
> else:
> raise Exception("No data found")
> reHist = reHist[i-4:]
> print reHist
This is what I would have suggested, except that the 'if count' test
should be left under the else clause, as in the original, so I consider
it the best of the responses ;-)
I thought of the repeated slicing alternative, but it would be slightly
slower. However, for occasional runs, the difference would be trivial.
Worrying about what Psyco does for this problem is rather premature
optimization.
My quarter's worth....
tjr
More information about the Python-list
mailing list