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:
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
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.
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.
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
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.