Desordenando listas en Python

Si tenemos una lista de elementos, por ejemplo: >>> l = [ 2, 3, 5, 7, 11, 13, 17, 19 ] Y queremos desordenarla, pero con la condición de que ningún elemento ocupe la misma posición que ocupaba originalmente, podemos aplicar el algoritmo de Sottolo: >>> from random import randrange >>> def sattoloCycle(items): ... i = len(items) ... while i > 1: ... i = i - 1 ... j = randrange(i) # 0 < = j <= i-1 ... items[j], items[i] = items[i], items[j] ... return >>> sattoloCycle(l) >>> print l [5, 17, 3, 2, 7, 11, 13]

March 29, 2011 · 1 min · 99 palabras · Nacho Cano

Intercambio de los valores de dos variables

En algunos lenguajes, intercambiar el valor de la variable a por el de la variable b implica, explícitamente, utilizar una variable temporal: t = a; a = b; b = t; En Python: a, b = b, a Pero esperen, aún hay más: a, b, c, d = d, c, b, a Actualizado el 31 de julio de 2011 En Bash: $ read a b c <<< $(echo $c $b $a) Otra manera: ...

December 3, 2010 · 1 min · 174 palabras · Nacho Cano