Identifying the start of good data in a list

Emile van Sebille emile at fenx.com
Tue Aug 26 19:23:51 EDT 2008


tkpmep at hotmail.com wrote:
> I have a list that starts with zeros, has sporadic data, and then has
> good data. I define the point at  which the data turns good to be the
> first index with a non-zero entry that is followed by at least 4
> consecutive non-zero data items (i.e. a week's worth of non-zero
> data). For example, if my list is [0, 0, 1, 0, 1, 2, 3, 4, 5, 6, 7, 8,
> 9], I would define the point at which data turns good to be 4 (1
> followed by 2, 3, 4, 5).
> 
> I have a simple algorithm to identify this changepoint, but it looks
> crude: is there a cleaner, more elegant way to do this?

 >>> for ii,dummy in enumerate(retHist):
...     if 0 not in retHist[ii:ii+5]:
...         break

 >>> del retHist[:ii]

Well, to the extent short and sweet is elegant...

Emile




More information about the Python-list mailing list