It takes individual elements of str. Following is the readable code for the same implementation:
D = { 'h' : 'hh' , 'e' : 'ee'}
str = 'hello'
returns = [] # create list for storing return value from function
def myLambda(x): # function does lambda
return D.get(x,x)
for x in str: #map==> pass iterable
returns.append(myLambda(x)) #for each element get equivalent string from dictionary and append to list
print ''.join(returns) #join for showing result