swap en listas

Antonio Castro acastro en ciberdroide.com
Mar Mar 14 08:15:18 CET 2006


On Tue, 14 Mar 2006, Chema Cortes wrote:

> On 3/13/06, camontuyu <camontuyu en yahoo.es> wrote:
> > Hola,
> >
> > me gustaría saber si existe un método eficiente para intercambiar dos
> > elementos de una lista, un método swap o algo por el estilo.
> >
> > También me gustaría saber si hay alguna forma más elegante y rápida de
> > realizar todos los posibles cambios en los elementos de una lista, que
> > mediante dos bucles for anidados de siguiente modo
>
> A ver si te sirve ésto:
>
> def swap(l,i,j):
>   s=l[:]
>   s[i],s[j]=s[j],s[i]
>   return s
>
> l=LISTA
> cambios=[swap(l,i,j) for i in range(len(l)) for j in range(i+1,len(l))]

Me gustan estas cositas y solo por enredar.

¿ Se podrían obtener todas las permutaciones posibles de los elementos
de una lista ?

-- 
Un saludo
Antonio Castro




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