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