izRota rota listas a la izquierda.
muestra iota 10
[0 1 2 3 4 5 6 7 8 9]
muestra izRota iota 10
[1 2 3 4 5 6 7 8 9 0]
muestra izRota izRota iota 10
[2 3 4 5 6 7 8 9 0 1]
muestra izRota [cynthia daniel david ruth victor]
[daniel david ruth victor cynthia]
muestra izRota [[1 2] [3 4] [5 6]]
[[3 4] [5 6] [1 2]]
deRota rota listas a la derecha.
muestra iota 10
[0 1 2 3 4 5 6 7 8 9]
muestra deRota iota 10
[9 0 1 2 3 4 5 6 7 8]
muestra deRota [cynthia daniel david ruth victor]
[victor cynthia daniel david ruth]
muestra deRota [[1 2] [3 4] [5 6]]
[[5 6] [1 2] [3 4]]
flota toma el elemento que se encuentra en la posición indicada y lo coloca al inicio:
muestra flota [1 [0 1 2 3 4]]
[1 0 2 3 4]
En el ejemplo anterior, flota toma el elemento que se encontraba en la posición 1 de la lista [0 1 2 3 4] y lo movió al inicio de la lista.
muestra flota [2 [0 1 2 3 4]]
[2 1 0 3 4]
En el ejemplo anterior, flota toma el elemento que se encontraba en la posición 2 de la lista [0 1 2 3 4] y lo movió al inicio de la lista.
muestra flota [1 [5 6 4 3 2]]
[6 5 4 3 2]
muestra flota [0 [5 6 4 3 2]]
[5 6 4 3 2]
muestra flota [3 [5 6 4 3 2]]
[3 5 6 4 2]
flota produce listas, no palabras:
muestra flota [1 daniel]
[a d n i e l]
flota también puede recibir una lista de índices en vez de un sólo índice.
muestra flota [1 [0 1 2 3 4]]
[1 0 2 3 4]
En lo anterior, flota toma el elemento en la posición 1. Si deseamos eliminarlo podemos usar menosprimero:
muestra menosprimero [1 0 2 3 4]
[0 2 3 4]
muestra flota [1 [0 2 3 4]]
[2 0 3 4]
En lo anterior, flota toma nuevamente el elemento en la posición 1 de lo que quedó luego de haber eliminado el elemento 1.
Lo siguente quiere decir: flota el elemento en la posición 1 de la lista y luego flota el elemento en la posición 1 de lo que queda de la lista.
muestra flota [[1 1] [0 1 2 3 4]]
[1 2 0 3 4]
Una forma de barajar un montón de cartas es tomar cualquiera de las cartas del montón e iniciar con ella un montón nuevo, luego tomar cualquiera de las cartas de lo que resta del primer montón y ponerla debajo la primera carta del nuevo montón, tomar nuevamente cualquiera de las cartas de lo que resta del primer montón y ponerla debajo del otro montón y así hasta que el primer montón ya no tenga cartas:
muestra refleja [0 1 2 3 4]
[4 3 2 1 0]
muestra impon "inc [4 3 2 1 0]
[5 4 3 2 1]
muestra impon [azar inc] [4 3 2 1 0]
[4 2 1 1 0]
muestra impon [azar inc] [4 3 2 1 0]
[3 1 1 0 0]
muestra flota lista [3 1 1 0 0] [0 1 2 3 4]
[3 1 0 2 4]
muestra flota expon [[impon [azar inc] refleja] mismo] [0 1 2 3 4]
[4 2 3 1 0]
muestra flota expon [[impon [azar inc] refleja] mismo] [0 1 2 3 4]
[0 3 1 2 4]
muestra flota expon [[impon [azar inc] refleja] mismo] [0 1 2 3 4]
[3 2 1 0 4]
muestra flota expon [[impon [azar inc] refleja] mismo] [0 1 2 3 4]
[0 2 4 3 1]
muestra flota expon [[impon [azar inc] refleja] mismo] [0 1 2 3 4]
[4 2 3 0 1]
muestra flota expon [[impon [azar inc] refleja] mismo] [0 1 2 3 4]
[2 1 3 4 0]
muestra iota 10
[0 1 2 3 4 5 6 7 8 9]
muestra refleja iota 10
[9 8 7 6 5 4 3 2 1 0]
muestra refleja [cynthia daniel david ruth victor]
[victor ruth david daniel cynthia]
muestra refleja "daniel
[l e i n a d]
muestra refleja 12345
[5 4 3 2 1]
muestra iota 10
[0 1 2 3 4 5 6 7 8 9]
muestra baraja iota 10
[0 9 7 5 4 1 3 2 8 6]
muestra baraja iota 10
[7 6 9 5 0 8 3 1 2 4]
muestra baraja [cynthia daniel david ruth victor]
[daniel david victor ruth cynthia]
muestra baraja [cynthia daniel david ruth victor]
[ruth david daniel victor cynthia]
baraja produce listas, no palabras:
muestra baraja "bdca
[b d a c]
muestra baraja "bdca
[b a c d]
Pero:
muestra junta baraja "daniel
iaedln
muestra ordena [2 6 1 3 5 7 4 8 9 0]
[0 1 2 3 4 5 6 7 8 9]
muestra ordena [daniel david cynthia victor ruth]
[cynthia daniel david ruth victor]
muestra ordena [[2 1] [1 2] [1 3] [1 1]]
[[1 1] [1 2] [1 3] [2 1]]
muestra ordena [[1 1 1] [1] [1 1]]
[[1] [1 1] [1 1 1]]
ordena produce listas, no palabras:
muestra ordena "bdca
[a b c d]
prioriza ordena los elementos de una lista según el orden de otra lista de igual tamaño llamada lista clave.
muestra prioriza lista [2 0 1 5 6 4 3] [Martes Domingo Lunes Viernes Sabado Jueves Miercoles]
[Domingo Lunes Martes Miercoles Jueves Viernes Sabado]
Las vocales priorizadas de acuerdo a su número ASCII:
muestra prioriza lista [117 111 105 101 97] [u o i e a]
[a e i o u]
Los números ASCII correspondientes a las vocales ordenados de acuerdo al orden alfabético de las mismas:
muestra prioriza lista [u o i e a] [117 111 105 101 97]
[97 101 105 111 117]
Los nombres de algunas personas priorizados de acuerdo a sus edades:
muestra prioriza lista [27 25 20 60 50] [daniel david cynthia victor ruth]
[cynthia david daniel ruth victor]
organiza ordena únicamente de acuerdo a los criterios indicados. Los criterios de organización se establecen mediante "listas clave".
Vamos a organizar unos pares de datos de acuerdo al primer elemento de cada par. Estos son los primeros elementos, la "lista clave":
muestra impon "primero [[b 3] [a 2] [c 0] [a 1]]
[b a c a]
muestra organiza [primero] [[b 3] [a 2] [c 0] [a 1]]
[[a 2] [a 1] [b 3] [c 0]]
Nótese que los pares no fueron ordenados también de acuerdo a los segundos elementos. Si se desea que los registros se organicen en base a los primeros y a los segundos se debería usar *ordena*, o usar:
muestra organiza [t0 t1] [[b 3] [a 2] [c 0] [a 1]]
[[a 1] [a 2] [b 3] [c 0]]
Si se desea organizar de acuerdo a los segundos:
muestra impon "t1 [[b 3] [a 2] [c 0] [a 1]]
[3 2 0 1]
muestra organiza [t1] [[b 3] [a 2] [c 0] [a 1]]
[[c 0] [a 1] [a 2] [b 3]]
Si se desea organizar los pares por los segundos en forma descendente:
muestra refleja organiza [t1] [[b 3] [a 2] [c 0] [a 1]]
[[b 3] [a 2] [a 1] [c 0]]
Si se desea organizar los pares de acuerdo a los primeros elementos y luego descendentemente de acuerdo a los segundos elementos:
muestra organiza [t0] refleja organiza [t1] [[b 3] [a 2] [c 0] [a 1]]
[[a 2] [a 1] [b 3] [c 0]]
Si se desea organizar esto:
[[07/2002 a] [03/2002 b] [07/2001 c]]
por fecha, puede escribirse:
muestra [[2002/07 a] [2002/03 b] [2001/07 c]]
[[2002/07 a] [2002/03 b] [2001/07 c]]
muestra impon "t0 [[07/2002 a] [03/2002 b] [07/2001 c]]
[07/2002 03/2002 07/2001]
muestra impon [desmarca "/ t0] [[07/2002 a] [03/2002 b] [07/2001 c]]
[[07 2002] [03 2002] [07 2001]]
muestra impon [refleja desmarca "/ t0] [[07/2002 a] [03/2002 b] [07/2001 c]]
[[2002 07] [2002 03] [2001 07]]
muestra organiza [[refleja desmarca "/ t0]] [[07/2002 a] [03/2002 b] [07/2001 c]]
[[07/2001 c] [03/2002 b] [07/2002 a]]