swap en listas

Antonio Castro acastro en ciberdroide.com
Mie Mar 15 08:33:32 CET 2006


On Tue, 14 Mar 2006, Chema Cortes wrote:

> Antonio Castro escribió:
>
> > Me gustan estas cositas y solo por enredar.
> >
> > ¿ Se podrían obtener todas las permutaciones posibles de los elementos
> > de una lista ?
>
> def indexes(ndim):  # ndim>=2
>     s=set(range(ndim))
>     res=[[i,j] for i in s for j in s]
>     for n in range(ndim-2):
>         res=[[i]+j for i in s for j in res]
>     return [i for i in res if set(i)==s]
>
> l=LISTA
> permutaciones=[ [l[i] for i in t] for t in indexes(len(l)) ]

Gracias Chema. Seguramente si practicara algo más con la versión 2.4
y con el tipo de datos set me habría evitado preguntar pero ni se me
ocurrió usar set para esto.


-- 
Un saludo
Antonio Castro




Más información sobre la lista de distribución Python-es