Saltar al contenido
codexivo
Menú

Intermedio

Listas

Guardar varios valores en orden, leerlos por posición y cambiarlos.

Una lista guarda valores en orden. Cada uno tiene una posición, empezando en 0:

Abrir en el sandbox
variable números = [10, 20, 30]
imprimir(números[0])  // 10
imprimir(números[-1])  // 30, desde el final
imprimir(longitud(números))

Un índice fuera de rango es un error que dice cuántos elementos hay.

Cambiar elementos

Abrir en el sandbox
variable números = [10, 20, 30]
números[0] = 15
números[-1] += 1
números[1]++
imprimir(números)

Agregar y quitar

Regla: agregar, insertar, quitar (y sus variantes) y vaciar cambian la lista; todo lo demás regresa un valor nuevo.

Abrir en el sandbox
variable números = [5, 3, 8]
agregar(números, 2)
insertar(números, 0, 1)
imprimir(números)
imprimir(quitar_último(números), números)
imprimir(ordenar(números), números)

Listas compartidas

Una lista no se copia al asignarla: dos variables pueden apuntar a la misma lista, y un cambio se ve desde las dos.

Abrir en el sandbox
variable a = [1, 2]
variable b = a
agregar(b, 3)
imprimir(a)

variable c = copiar(a)
agregar(c, 4)
imprimir(a, c)

La vista de memoria del sandbox dibuja las listas aparte, con flechas, para ver cuándo dos variables comparten la misma.

Listas de listas

Abrir en el sandbox
variable tablero = matriz(3, 3, ".")
tablero[1][1] = "X"
para_cada fila en tablero {
  imprimir(unir(fila, " "))
}

Todos los procedimientos de listas están en la biblioteca.