Michael Broe wrote: > I read somewhere that the function 'map' might one day be deprecated > in favor of list comprehensions. > > But I can't see a way to do this in a list comprehension: > > >>> map (pow, [2, 2, 2, 2], [1, 2, 3, 4]) > [2, 4, 8, 16] > > Is there a way?
The current plan is to drop map() in Python 3.0 which is a "hypothetical future release of Python". http://www.python.org/peps/pep-3000.html List comps aren't so handy as a replacement for map() with a function of more than one argument. You have to use zip() to convert the separate arg lists to a single list of arg tuples: >>> [ pow(x, y) for x, y in zip([2, 2, 2, 2], [1, 2, 3, 4]) ] [2, 4, 8, 16] or if you prefer >>> [pow(*args) for args in zip([2, 2, 2, 2], [1, 2, 3, 4])] [2, 4, 8, 16] Kent _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor