Duda sobre "aleatorizar" una lista
Afonso Fernández Nogueira
fonso en aturuxo.net
Dom Mar 7 12:22:02 CET 2004
Pablo Ruiz Múzquiz wrote:
> Cuando lo vi pensé que sí. Pero luego, al usarlo con el join, me dio
> este error:
>
> ''.join(random.shuffle(l) or l)
> Traceback (most recent call last):
> File "<stdin>", line 1, in ?
> TypeError: sequence item 0: expected string, int found
Este problema no parece que tenga que ver con la solución propuesta, en
todo caso.
> -------------------------------------
> import sys, random
>
> def azar(l):
> if not random.shuffle(l): return l
>
> print ' '.join([p[0]+''.join(azar(list(p[1:-1])))+p[-1] for p in
> sys.argv[1].split()])
> --------------------------------------
Esto parece funcionar:
----
import sys, random
print ' '.join([p[0]+''.join((lambda x:random.shuffle(x) or
x)(list(p[1:-1])))+p[-1] for p in
sys.argv[1].split()])
----
¿Esto qué es, un concurso de Python enrevesado ;) ?
Un saludo,
Fonso
Más información sobre la lista de distribución Python-es