Andrea Gavana wrote: > I have a list of integers, like this one: > > indices = [1,2,3,4,5,6,7,8,9,255,256,257,258,10001,10002,10003,10004] > >>From this list, I would like to find out which values are consecutive > and store them in another list of tuples (begin_consecutive, > end_consecutive) or a simple list: as an example, the previous list > will become: > > new_list = [(1, 9), (255, 258), (10001, 10004)]
Is this faster? In [102]: indices = np.array([1,2,3,4,5,6,7,8,9,255,256,257,258,10001,10002,10003,10004,sys.maxint]) In [103]: breaks = np.diff(indices) != 1 In [104]: zip(indices[np.r_[True, breaks[:-1]]], indices[breaks]) Out[104]: [(1, 9), (255, 258), (10001, 10004)] -Chris -- Christopher Barker, Ph.D. Oceanographer Emergency Response Division NOAA/NOS/OR&R (206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception chris.bar...@noaa.gov _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion