Using enumerate() to include a sequence number

Python offers the enumerate() function to apply index information to values in a sequence or iterable. It performs a specialized kind of wrap that can be used as part of an unwrap(process(wrap(data))) design pattern.

It looks like the following code snippet:

>>> xi
[1.47, 1.5, 1.52, 1.55, 1.57, 1.6, 1.63, 1.65, 1.68, 1.7, 1.73,  1.75, 1.78, 1.8, 1.83]
>>> list(enumerate(xi))
[(0, 1.47), (1, 1.5), (2, 1.52), (3, 1.55), (4, 1.57),  (5, 1.6), (6, 1.63), (7, 1.65), (8, 1.68), (9, 1.7),  (10, 1.73), (11, 1.75), (12, 1.78), (13, 1.8), (14, 1.83)]  

The enumerate() function transformed each input item into a pair with a sequence number and the original item. It's vaguely similar to the following:

zip(range(len(source)), ...

Get Functional Python Programming - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.