Python's lambda function can be very powerful. When leveraged with other helpful functional programming toosl you can process data effectively with very little code. Unfortunately, the logic behind the lambda function isn't always intuitive. This quick tutorial should get you moving quickly with lambdas and iterations.
Baby Steps

In order to understand advanced applications of lambda, it is best to start by showing a process in a simple loop. Here we are multiplying every number in x by 5 and adding that value the the list y

Simple enough right? Now lets try and recreate that process using a list comprehension.

x=[2,3,4,5,6]y=[v*5forvinx]

Taking it a step further, we can do the same thing using the popular combination of lambda and map().

x=[2,3,4,5,6]y=map(lambdav:v*5,x)

Don't be afraid of map(), it takes in a function (our lamda function) and an iterable (x) and then returns another iterable.
Now, take a step back to look at both the list comprehension and lambda/map() combination. You'll see that the difference between the two is just a simple rearrangement of statements and removal of "for" and "in".

[v*5forvinx]-->map(lambdaforv:v*5,inx)-->map(lambdav:v*5,x)

A slightly more difficult example.

The for loop representation is straightforward; iterate over x, multiply the odd values by 5 and add them to the list y.

Again, lets compare to our list comprehension to see that our combination of map()/filter()/lambda is simpler than it looks!

[v*5forvinxifv%2]#list comprehensionmap(lambdaforv:v*5,forfilter(lambdaforv:ifv%2,inx))#"pseudo" lambda and list comprehensionmap(lambdav:v*5,filter(lambdau:u%2,x))#lambda, just a 'rearrangement' of what we had before

Going all the way.

Going deeper, our loops iterate through x, iterate through y, and adds the sum of the values to z.