[pyar] itertools.permutations

Sebastián Seba ssebastianj en gmail.com
Jue Nov 5 11:00:20 ART 2015


El 5 de noviembre de 2015, 10:30, Pablo Ventura <pablogventura en gmail.com>
escribió:

> Hola gente!
> Me sorprendio que permutations me devuelva tuplas repetidas. Alguna idea
> para evitarlo usando otra funcion para que no se generen inutilmente?
>
> Esto es lo que pasa:
> >>> list(itertools.permutations([0,0,0,1,1],5))
> [(0, 0, 0, 1, 1),
> (0, 0, 0, 1, 1),
> (0, 0, 1, 0, 1),
> (0, 0, 1, 1, 0),
> (0, 0, 1, 0, 1),
> (0, 0, 1, 1, 0),
> ...
> ]
>
> Muchas gracias!
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>

Viendo rápidamente se podría decir que las tuplas son repetidas porque
algunos elementos de la lista son repetidos.

La documentación [0] explica que la permutación se realiza en base a la
posición de cada elemento, no por el valor del elemento en sí. Si es por
eficiencia, en Python 3 itertools.permutations(iterable, r) devuelve un
*generator*.

Saludos.


[0] https://docs.python.org/3/library/itertools.html#itertools.permutations

-- 
Sebastián J. Seba (ssebastianj)
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20151105/5f16a35f/attachment.html>


More information about the pyar mailing list