Duda sobre "aleatorizar" una lista

Marcos Sánchez Provencio rapto en arrakis.es
Dom Mar 7 20:07:58 CET 2004


Enrique escribió:

> Pablo Ruiz Múzquiz wrote:
>
>> Hola,
>>
>> En un programa que estoy haciendo necesito tomar una lista y descolocar
>> sus elementos de forma aleatoria.
>>
>> Ahora bien, random.shuffle() devuelve None y modifica la lista "in
>> place" con lo que no podemos hacer:
>> ---------------------
>> l = random.shuffle(l)
>> ---------------------
>>
> Hola Pablo,
> Sinceramente, no entiendo tu problema
> No lo puedes hacer, pero tampoco lo necesitas para nada.
>
> después de hacer
> -----------------
> import random
>
> l = [1,2,3,4]
> random.shuffle(l)
> -----------------
>
> en nombre "l" apunta ahora a una versión alatoria de la lista, 
> exactamenet igual que si hubieras escrito l = random.shuffle(l).
> Python tiene aspectos parecidos a la programación funcional.
>
> A partir de ese momento donde uses el nombre "l" obtendrás la lista 
> aleatorizada, tal como quieres (para imprimirla, añadirla a otra 
> lista, lo que sea)
>
> Enrique
>
>
La verdad es que no, .shuffle() devuelve None, lo que provocaba el 
onanismo mental de Pablo, que cualquier día se nos pasa al Perl (con 
perdón).




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