DMarlon Studio

Lección 11 · 11 de 20

Trabajar con listas · Python

Añada, quite y ordene elementos de una lista de Python con append, insert, remove, pop y sort, y tome partes con el troceado [a:b].

Python · Trabajar con listas en DMarlon Studio: el código del ejemplo y su salida en la terminal

Las listas tienen métodos: funciones que se escriben tras un punto y trabajan sobre esa lista. append("apples") añade al final e insert(0, "coffee") añade en la posición indicada, aquí la primera.

remove("bread") quita el primer elemento con ese valor. pop() quita el último y además lo devuelve, así que se puede guardar: last vale apples.

sort() ordena la lista de menor a mayor y la cambia en el sitio (no crea otra). Con sort(reverse=True) queda de mayor a menor: las mejores notas primero.

El troceado (*slicing*) toma una parte: scores[1:4] va de la posición 1 a la 3 (el final no entra). Si se omite el principio o el final, llega hasta el borde: scores[:3] son los tres primeros y scores[3:], el resto. scores[::-1] la da al revés.

index(88) busca un valor y dice en qué posición está: 1, porque tras ordenar de mayor a menor el 88 es el segundo.

Código · main.py

# A shopping list that grows and shrinks.shopping = ["milk", "bread", "eggs"]shopping.append("apples")       # add at the endshopping.insert(0, "coffee")    # add at a positionprint("After adding:", shopping)shopping.remove("bread")        # remove by valuelast = shopping.pop()           # remove the last one and return itprint("Removed:", last)print("Now:", shopping)# sort() puts the list in order (it changes the list itself).scores = [72, 95, 58, 88, 64]scores.sort()print("Sorted:", scores)scores.sort(reverse=True)print("Best first:", scores)# Slicing: list[start:stop] takes a part (stop is not included).print("Top 3:", scores[:3])print("The rest:", scores[3:])print("Middle:", scores[1:4])print("Backwards:", scores[::-1])print("Position of 88:", scores.index(88))

Salida · python3 main.py

After adding: ['coffee', 'milk', 'bread', 'eggs', 'apples']
Removed: apples
Now: ['coffee', 'milk', 'eggs']
Sorted: [58, 64, 72, 88, 95]
Best first: [95, 88, 72, 64, 58]
Top 3: [95, 88, 72]
The rest: [64, 58]
Middle: [88, 72, 64]
Backwards: [58, 64, 72, 88, 95]
Position of 88: 1

Para recordar

  • append() añade al final; insert(i, x) en la posición i.
  • remove(x) quita por valor; pop() quita el último y lo devuelve.
  • sort() ordena; sort(reverse=True), al revés.
  • lista[a:b] va de a a b - 1; lista[::-1] invierte.

Ejercicio

Con la lista de notas, añada un 100 y un 47, ordénela, y escriba las dos peores notas con un troceado y la mediana (el elemento del centro).