mattia wrote: > I have 2 lists, like: > l1 = [1,2,3] > l2 = [4,5] > now I want to obtain a this new list: > l = [(1,4),(1,5),(2,4),(2,5),(3,4),(3,5)] > Then I'll have to transform the values found in the new list. > Now, some ideas (apart from the double loop to aggregate each element of > l1 with each element of l2): > - I wanted to use the zip function, but the new list will not aggregate > (3,4) and (3,5) > - Once I've the new list, I'll apply a map function (e.g. the exp of the > values) to speed up the process > Some help?
Why would you keep the intermediate list? With a list comprehension: >>> a = [1,2,3] >>> b = [4,5] >>> [x**y for x in a for y in b] [1, 1, 16, 32, 81, 243] With itertools: >>> from itertools import product, starmap >>> from operator import pow >>> list(starmap(pow, product(a, b))) [1, 1, 16, 32, 81, 243] Peter -- http://mail.python.org/mailman/listinfo/python-list