Let\'s assume there is a list a = [1, 3, 5, 6, 8]
.
I want to apply some transformation on that list and I want to avoid doing it sequentially, so someth
To extend Martijn Pieters' excellent answer, you could also use list comprehensions in combination with enumerate
:
>>> a = [1, 3, 5, 6, 8]
>>> [i * v for i, v in enumerate(a)]
[0, 3, 10, 18, 32]
or
[mapfunction(i, v) for i, v in enumerate(a)]
I feel list comprehensions are often more readable than map
/lambda
constructs. When using a named mapping function that accepts the (i, v)
tuple directly, map
probably wins though.