Is this the right way to do lambda method chaining in python?
You're better off doing an inline list comprehension.
li2 = [name.capitalize() for name in li if name == &quot;amol&quot;]

For the lambda implementation itself, you can leave the map and filter generators until only when you want to convert back to list:
li2 = filter(lambda n: n == &quot;Amol&quot;, map(str.capitalize, li))
print(list(li2))