Differences between lambda and .map()
Mapping arrays in Python using map, lambda, and functional programming workflows - Stack Overflow
Lambda function
Unleashing the Power of Lambda Functions in Python: Map, Filter, Reduce
I'm looking to expand my knowledge on the subject these upcoming days and was hoping someone could shed some clarity. Lambda escapes me sometimes because I THINK I understand, but then when I look at it in practice I get the cold fingers.
What I was wondering is if there was any similarity between the two? They look to me that they accomplish similar tasks. I'm not sure if they're the same thing or can be made into the same thing or if they're different? I was also looking at both of them and wondering if they're pretty much synonymous with a "for" loop?
- Python style guide recommends using list comprehensions instead of map/reduce
- String formatting using percent operator is obsolete, consider using format() method
the code you need is this simple one-liner
output = [" this string contains {} and {}".format(x, y) for (x, y) in matrix]
You have a couple of issues, these structures aren't nested deeply enough to warrant the nested loops.
You need 1 map for each level of list you wish to process, so if you want to process a list, you need a map, if you want to process a list of lists, you need 2 and so on.
In this case you most likely only want to process the top level (effectively this is because you want each list in the top level to become a sentence).
def sentence( x, y):
return " this string contains %s and %s" % (x,y)
matrix = [['a','b'],['c','d']]
output = map(lambda a: sentence(a[0],a[1]), matrix)
# Print the top level
for i in output:
print(i)