[pyar] productos elementos de una lista

Facundo Batista facundobatista en gmail.com
Mar Mayo 10 13:53:08 ART 2011


2011/5/10 Nehuen Diez <nehuen.diez en gmail.com>:

> Tengo una lista con numeros, y quiero extraer de esa lista todos los
> productos posibles entre ellos, sin repetir y sin soplar (y ademas obtener
> los numeros mismos) :P
>
> por ejemplo: l1 = [2, 3, 3]
>
> quiero obtener: l2= [2, 3, 6, 9, 18]

>>> import operator, itertools
>>> todos = set()
>>> origen = [2, 3, 3]
>>> for i in range(1, len(origen) + 1):
...       todos.update(reduce(operator.mul, x) for x in
itertools.combinations(origen, i))
...
>>> todos
set([9, 2, 3, 18, 6])
>>> sorted(todos)
[2, 3, 6, 9, 18]

-- 
.    Facundo

Blog: http://www.taniquetil.com.ar/plog/
PyAr: http://www.python.org/ar/



More information about the pyar mailing list