4.7 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[:3]
[1.47, 1.5, 1.52]
>>> len(xi)
15
>>> id_values = list(enumerate(xi))
>>> id_values[:3]
[(0, 1.47), (1, 1.5), (2, 1.52)]
>>> len(id_values)
15
The enumerate()
function transformed each input item into a pair with a sequence number and the original item. It’s similar to the following:
zip(range(len(source)), source)
An important feature of enumerate()
is that the result is an iterable and it works with any iterable input.
When looking at statistical processing, for example, the enumerate()
function comes in handy to transform a single sequence of values into a...