If you're seeing this message, it means we're having trouble loading external resources on our website.

Si estás detrás de un filtro de páginas web, por favor asegúrate de que los dominios *.kastatic.org y *.kasandbox.org estén desbloqueados.

Contenido principal

Almacenar y actualizar listas

En programación, las variables proveen una manera de recordar un fragmento de datos y darle un nombre, para poder accesar o incluso cambiarlo más tarde. A menudo, esos datos son una sola pieza de información, como un número o una cadena.
A veces esos datos son una colección de información relacionada, como un listado de puntuaciones altas o nombres de estudiantes. Para almacenar colecciones como estas, los programas pueden utilizar un tipo de datos de lista, también conocido como arreglo o secuencia.

Inicializar una lista

Para empezar a usar listas, necesitamos inicializar una variable que almacene una lista.
En el lenguaje JavaScript, llamamos a una lista un arreglo, y usamos corchetes para almacenar un arreglo:
var misTareas = [ ];
Esa lista está completamente vacía, pues no hay valores dentro de los corchetes.
Esta es una lista que empieza con 5 números:
var lottoNumbers = [8, 9, 32, 37, 39];
Observa que separamos cada valor con una coma.
También podemos almacenar una lista de cadenas, como este ejemplo:
var rainbowColors = ["red", "orange", "yellow", "green", "blue", "indigo", "violet"];
La sintaxis es muy importante aquí: cada valor entre comillas, pues cada uno es una cadena; pero ponemos la coma fuera de las comillas. ¡Las reglas gramaticales no son las mismas en JavaScript!

Accesar valores de la lista

Ahora que sabemos cómo almacenar una lista, necesitamos una manera de recuperar cada elemento dentro de ella.
El primer paso es averiguar el índice del elemento deseado. La computadora asigna un índice a cada elemento de la lista, para rastrear dónde almacenó ese objeto en su memoria real.
En el lenguaje JavaScript, el primer elemento de una lista está en el índice 0, no en el 1.
Aquí están los índices del arreglo rainbowColors:
0123456
"red""orange""yellow""green""blue""indigo""violet"
Ahora podemos hacer referencia a cualquier elemento del arreglo con "notación de corchetes":
var firstColor = rainbowColors[0];
var lastColor = rainbowColors[6];
La variable firstColor almacena "red", y la variable lastColor almacena "violet".
En indexación de listas los programadores a menudo se topan con "errores de fuera por uno", cuando el código es casi correcto, excepto un número es demasiado alto o bajo. Siempre que programes con listas, ten en cuenta cómo funciona la indexación en ese lenguaje y comprueba tus índices.
🎅🏽"Estás haciendo una lista, ¡compruébala dos veces!" 🎶
Comprueba tu comprensión
Considera esta lista de números:
var lottoNumbers = [8, 9, 32, 37, 39];
Dada la indexación desde 0 en arreglos de JavaScript, ¿qué número se almacena en lottoNumbers[1]?
  • Tu respuesta debe ser
  • un entero, como 6
¿Qué se almacena en lottoNumbers[4]?
  • Tu respuesta debe ser
  • un entero, como 6

Actualizar valores de listas

Podemos actualizar un elemento de una lista siempre que conozcamos su índice.
En JavaScript, usamos notación de corchetes para actualizar un valor. Por ejemplo, actualicemos los colores del arcoiris de acuerdo con interpretaciones más modernas.
rainbowColors[4] = "cyan";
rainbowColors[5] = "blue";
Ahora el arreglo rainbowColors almacena "red", "orange", "yellow", "green", "cyan", "blue" y "violet".
✏️ El siguiente programa almacena, muestra y actualiza una lista de mi comida favorita. Cambia el programa para reflejar tus favoritos en su lugar y ¡trata de hacer más larga la lista!
📝 Mira código similar en: App Lab | Snap | Python

Operaciones con listas

Hay muchas, muchas maneras de modificar una lista, además de actualizar un solo valor, y los lenguajes de programación suelen proveer procedimientos incorporados para hacerlo. Intentemos algunos de ellos.

Anexar un elemento

A menudo queremos anexar un elemento a una lista, lo que significa añadir un nuevo elemento al final de la lista.
En JavaScript, podemos llamar al método push() en un arreglo y pasar el nuevo elemento como parámetro.
¿Recuerdas el arreglo vacío misTareas de antes? Bueno…
misTareas.push("Lavar los platos");
¡Ya no está tan vacío! Ahora la lista almacena un solo elemento, "Lavar los platos". Podemos añadir elementos como sea necesario, y la lista se hará cada vez más larga.
misTareas.push("Hacer lavandería");
misTareas.push("Cortar el césped");
La lista ahora tiene 3 elementos (por desgracia para mí):
índiceelemento
0"Lavar los platos"
1"Hacer lavandería"
2"Cortar el césped"

Insertar un elemento

A veces queremos añadir un elemento antes en la lista, como al principio o entre dos elementos existentes.
Una manera de hacerlo en JavaScript es con el método splice().
misTareas.splice(0, 0, "Ahuyentar hormigas");
El método splice toma 3 parámetros: el índice donde debe insertar el elemento, el número de elementos a eliminar y el elemento a insertar. En el ejemplo anterior, el índice es 0 y el número a eliminar es 0, para que el código inserte un elemento en la primera posición y desplace todos los elementos siguientes por un índice.
índiceelemento
0"Ahuyentar hormigas"
1"Lavar los platos"
2"Hacer lavandería"
3"Cortar el césped"
El arreglo misTareas ahora almacena 4 valores.
También podemos insertar un elemento en medio de la lista:
misTareas.splice(2, 0, "Escribir este artículo");
En este caso, el código inserta el nuevo elemento en el índice 2 y desplaza los elementos siguientes.
índiceelemento
0"Ahuyentar hormigas"
1"Lavar los platos"
2"Escribir este artículo"
3"Hacer lavandería"
4"Cortar el césped"
El arreglo ahora almacena 5 valores. Observa que los dos primeros elementos permanecieron en el mismo índice, ya que esta operación no los afectó en absoluto.
¿Te pone nervioso el memorizar cómo usar exactamente métodos como splice()? No te preocupes, siempre puedes buscar documentación y ejemplos. Los programadores no necesitan memorizar los detalles de cada procedimiento y parámetro; es más importante entender la gama de opciones que existen y que sepamos cómo encontrar más detalles.

Eliminar un elemento

Desde luego también podemos eliminar elementos de listas.
En JavaScript, una manera de eliminar elementos es con el mismo método splice(). El segundo parámetro de splice() especifica el número de elementos a eliminar, así que si usamos un número diferente de cero y no especificamos un tercer parámetro, entonces podemos eliminar un elemento.
misTareas.splice(4, 1);
Esa línea de código especifica índice 4 y número a eliminar 1, lo que elimina un único elemento en el índice 4. Como el arreglo tiene sólo 5 elementos, elimina el último elemento "Cortar el césped".
índiceartículo
0"Ahuyentar hormigas"
1"Lavar los platos"
2"Escribir este artículo"
3"Hacer lavandería"
También podemos eliminar elementos en medio de una lista. Casi termino de escribir este artículo, así que puedo eliminar ese elemento en el índice 2.
misTareas.splice(2, 1);
índiceartículo
0"Ahuyentar hormigas"
1"Lavar los platos"
2"Hacer lavandería"
Ahora la longitud de mi lista de tareas es solo 3, mucho más manejable.
✏️ ¿Alguna vez has hecho una lista de reproducción en un sitio web de música? La mayoría de los sitios te permiten agregar nuevas canciones a la lista, moverlas y eliminarlas. El siguiente programa es un editor sencillo de listas de reproducción con arreglos. ¡Juega con él, reemplaza mis canciones pasadas con tus éxitos favoritos!
📝 Mira código similar en: App Lab | Snap | Python

Listas en pseudocódigo

Muchos lenguajes usan notación de corchetes para listas, y también la usamos en pseudocódigo.
Este pseudocódigo representa inicializar una lista con 3 elementos:
list ← [1, 2, 3]
Similarmente, podemos usar notación de corchetes para accesar y asignar elementos:
DISPLAY(list[1])
list[1] ← 55
⚠️ Hay una diferencia importante entre el pseudocódigo del examen de AP CSP y el código JavaScript: los índices de una lista inician en 1. El código anterior muestra el primer elemento de la lista, no el segundo.
Hay algunos lenguajes de programación que utilizan índices basados en 1, especialmente aquellos que son populares entre matemáticos, así que es importante saber cómo funciona la indexación en cualquier lenguaje o pseudocódigo que uses.
Dadas estas diferencias, aquí está el pseudocódigo para almacenar y actualizar la lista de colores del arcoiris:
rainbowColors ← ["red", "orange", "yellow", "green", "blue", "indigo", "violet"]

firstColor ← rainbowColors[1]
lastColor ← rainbowColors[7]

rainbowColors[5] ← "cyan"
rainbowColors[6] ← "blue"

Operaciones con listas

Cuando se trata de operaciones de listas, hay bastante variación entre lenguajes.
Así representamos añadir un elemento en pseudocódigo:
APPEND(list, item)
Ese procedimiento añade item al final de list, y aumenta la longitud de la lista en 1.
INSERT(list, i, item)
Ese procedimiento inserta item en el índice i desde 1, y desplaza los elementos siguientes a la derecha. La longitud de la lista aumenta en uno.
REMOVE(list, i)
Ese procedimiento elimina el elemento en el índice i desde 1, y desplaza los elemento siguientes a la izquierda. La longitud de la lista disminuye en uno.
Podemos volver a escribir las operaciones de la lista misTareas con pseudocódigo así:
misTareas ← []

APPEND(misTareas, "Lavar los platos")
APPEND(misTareas, "Hacer lavndería")
APPEND(misTareas, "Cortar el césped")

INSERT(misTareas, 1, "Ahuyentar hormigas")
INSERT(misTareas, 3, "Escribir este artículo")

REMOVE(misTareas, 5)
REMOVE(misTareas, 3)

🙋🏽🙋🏻‍♀️🙋🏿‍♂️¿Tienes alguna pregunta sobre este tópico? Nos encantaría contestarte; ¡simplemente pregunta en el area de preguntas abajo!

¿Quieres unirte a la conversación?

Sin publicaciones aún.
¿Sabes inglés? Haz clic aquí para ver más discusiones en el sitio en inglés de Khan Academy.