On Fri, Mar 08, 2019 at 03:43:10PM -0800, Chris Barker - NOAA Federal via 
Python-ideas wrote:
> >
> > Rather than using map in this way, I would recommend a list comprehension:
> 
> Exactly! I really don’t get why folks want to use map() so much when
> the comprehension syntax is often cleaner and easier. It was added for
> a reason :-)

Comprehensions are great for avoiding the need to write verbose lambdas 
before calling map:

map(lambda x: x + 1, numbers)
(x + 1 for x in numbers)

but you typically only save a few characters, and you don't even save 
that when the function already exists:

map(str.upper, strings)
(s.upper() for s in strings)

So horses for courses.

In my opinion, map() looks nicer when you are calling a pre-existing 
named function, and comprehensions look nicer when you have an 
expression involving operators which would otherwise require a lambda.


-- 
Steven
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to