[pyar] itertools.permutations

Tomas Zulberti tzulberti en gmail.com
Jue Nov 5 10:43:52 ART 2015


2015-11-05 10:30 GMT-03:00 Pablo Ventura <pablogventura en gmail.com>:

> 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!
>
>
Las permutaciones se hacen por el lugar no por los valors. Por lo tanto, no
es que estan repetidas sino que los valores que vos le estas pasando en tu
lista estan repetidos.

Por ejemplo, si tengo la lista [0,0,0,1,1] una permutacion es cambiar el
index 0 con index 1, y se obtiene [0, 0, 0, 1,1] que es la misma lista que
si cambiara el index 0 con el index 2.

Por eso, si queres eliminar los repetidos no te va a quedar otra opcion mas
que hacer un set del resultado

Saludos,
TZ
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20151105/53b6b175/attachment-0001.html>


More information about the pyar mailing list