Lists and data abstraction · Listas y abstracción de datos
Why a list?
- A program often needs many values at once, like a class of scores.
- One variable per value would be messy.
- A list holds many values under one name — a useful data abstraction.
¿Por qué una lista?
- Un programa a menudo necesita muchos valores al mismo tiempo, como las calificaciones de una clase.
- Una variable por valor sería desordenado.
- Una lista almacena muchos valores bajo un solo nombre: una útil abstracción de datos.
What is a data abstraction?
- An abstraction hides detail so you can think about the whole, not the parts.
- A list lets you treat 1 value or 1000 values the same way.
- You write the same code no matter how long the list is.
¿Qué es una abstracción de datos?
- Una abstracción oculta detalles para que puedas pensar en el todo, no en las partes.
- Una lista te permite tratar 1 valor u 1000 valores de la misma manera.
- Escribes el mismo código sin importar cuán larga sea la lista.
Make a list and read it
- Write items inside square brackets:
[10, 20, 30]. - Get one item by its index (its position). Python starts at
0. scores[0]is the first item;scores[-1]is the last item.
Crear y leer una lista
- Escribe los elementos entre corchetes:
[10, 20, 30]. - Obtén un elemento por su índice (su posición). Python comienza en
0. scores[0]es el primer elemento;scores[-1]es el último.
scores = [10, 20, 30]
print(scores[0])
print(scores[-1])
print(len(scores))
Grow a list with append
scores.append(x)addsxto the end of the list.- The list can grow while the program runs.
len(scores)tells you how many items it now has.
Crecer una lista con append
scores.append(x)añadexal final de la lista.- La lista puede crecer mientras se ejecuta el programa.
len(scores)te dice cuántos elementos tiene ahora.
scores = [10, 20]
scores.append(30)
print(scores)
print(len(scores))
Traverse (visit every item)
- To traverse a list means to go through every item, one by one.
for s in scores:gives you one item each pass — this is a for-each loop.- It is the clean way to process the whole list.
Recorrer (visitar cada elemento)
- Recorrer una lista significa pasar por cada elemento, uno por uno.
for s in scores:te da un elemento cada vez: este es un bucle para-cada (for-each).- Es la forma más limpia de procesar toda la lista.
scores = [10, 20, 30]
total = 0
for s in scores:
total = total + s
print(total)
In AP CSP pseudocode
- A list is the exam's list too — but CB lists are 1-indexed.
- So
aList[1]is the first element in CB, while Python's first isscores[0]. FOR EACH x IN listmatches Python'sfor x in list:.DISPLAY= print,←==.
En pseudocódigo AP CSP
- Una lista también es la lista del examen, pero las listas de CB son indexadas desde 1.
- Por lo tanto,
aList[1]es el primer elemento en CB, mientras que el primero en Python esscores[0]. FOR EACH x IN listequivale afor x in list:en Python.DISPLAY= print,←==.
aList ← [10, 20, 30]
DISPLAY aList[1] ## the FIRST item (1-indexed!)
total ← 0
FOR EACH x IN aList
{
total ← total + x
}
DISPLAY total
Common mistakes
- Index a list from
0; the last item isa[-1]. - A list groups related values under one name.
Errores comunes
- Indexa una lista desde
0; el último elemento esa[-1]. - Una lista agrupa valores relacionados bajo un solo nombre.
Now you try
- Build, grow, or traverse a list in each task.
- Press Check answer to test your code.
¡Ahora prueba tú!
- Construye, crece o recorre una lista en cada tarea.
- Presiona Comprobar respuesta para poner tu código a prueba.
A list of items, indexed · Una lista de elementos, indexada
A list stores many values in order, each at an index from 0. · Una lista almacena muchos valores en orden, cada uno en un índice desde 0.
Start from the list colors = ["red", "green"]. Use .append(...) to add "blue" to the end, so the list becomes ["red", "green", "blue"]. · Comience con la lista colors = ["red", "green"]. Use .append(...) para agregar "blue" al final, de modo que la lista quede como ["red", "green", "blue"].
Click Run to see the output here. · Haz clic en Ejecutar para ver la salida aquí.
nums is [4, 8, 15, 16, 23]. Traverse it with a for loop to add up every value, then print the total. (It should print 66.) · nums es [4, 8, 15, 16, 23]. Recórrela con un bucle for para sumar todos los valores, luego print el total. (Debería imprimir 66.)
Click Run to see the output here. · Haz clic en Ejecutar para ver la salida aquí.
days = ["Mon", "Tue", "Wed", "Thu", "Fri"]. Store the first · primero day in first and the last day in last using indexing. · days = ["Mon", "Tue", "Wed", "Thu", "Fri"]. Almacene el día primero en first y el día último en last usando indexación.
Click Run to see the output here. · Haz clic en Ejecutar para ver la salida aquí.