Ejercicios Listas

De WikiEducator
Saltar a: navegación, buscar


¿Para qué?

Icon preknowledge.gif

¿Para qué?

Las listas son colecciones dinámicas de datos secuenciales. Las usamos para mantener agrupados y por orden datos que tienen cierta relación: alumnos de una clase, empleados de un departamento, datos meteorológicos ...




Example

Icon casestudy.gif

Ejemplo

# lista de números
n = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
letras = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']




Operaciones con listas

Icon preknowledge.gif

Operaciones con listas

# concatenación
>>> ['a', 'b', 'c'] + ['d', 'e', 'f']
['a', 'b', 'c', 'd', 'e', 'f']
# repetición
>>> [1, 2, 3] * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]
# indices
>>> ['Huesca', 'Teruel', 'Zaragoza'][1]
'Teruel'
>>> ['Huesca', 'Teruel', 'Zaragoza'][-1]
'Zaragoza'
# Longitud : nº de elementos
>>> len(['Huesca', 'Teruel', 'Zaragoza'])
3
# Rebanadas
>>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9][3:6]
[3, 4, 5]
>>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9][:4]
[0, 1, 2, 3]
>>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9][4:]
[4, 5, 6, 7, 8, 9]
# Recorrido
>>> for prov in ['Huesca', 'Teruel', 'Zaragoza']:
...     print prov, 
...     
Huesca Teruel Zaragoza
# Está dentro ...
>>> 5 in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
True
>>> 10 in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
False




Métodos de las listas

Icon preknowledge.gif

Métodos de las listas

>>> lista = [0, 1, 2, 3, 4]
>>> lista
[0, 1, 2, 3, 4]
# Añadir
>>> lista.append(-5)
>>> lista
[0, 1, 2, 3, 4, -5]
# Ordenar  --> modifica la lista. Devuelve None
>>> lista.sort()  # ¡¡NO ASIGNAR EL RESULTADO!!
>>> lista
[-5, 0, 1, 2, 3, 4]
# Posición de un valor
>>> lista.index(3)
4
# Insertar
>>> lista.insert(0, 3)
# Número de veces que aparece un valor
>>> lista.count(3)
2
# Eliminar primera vez que aparece un valor
>>> lista.remove(3)
>>> lista
[-5, 0, 1, 2, 3, 4]
>>> lista.remove(3)
>>> 
>>> lista
[-5, 0, 1, 2, 4]
>>> lista.remove(3)
Traceback (most recent call last):
  File "<console>", line 1, in <module>
ValueError: list.remove(x): x not in list
# Devuelve y elimina el último valor
>>> lista.pop()
4
# Devuelve y elimina el valor de una posición
>>> lista.pop(0)
-5
>>> lista
[0, 1, 2]




Ejemplo: cálculo de la media de una lista

Icon casestudy.gif

Ejemplo: cálculo de la media de una lista

Aquí tienes un ejemplo de usos de listas en un programa para calcular la media de los valores una lista






Icon activity.jpg

Ejercicios

  1. Escribe un programa que implemente el algoritmo de la criba de Eratóstenes
  2. Escribe un programa que pida una lista de nombres (acabada con un <intro>). El programa mostrará la lista de nombres en orden alfabético sin repetir ninguno.
  3. Escribe una función esta_ordenada(lista) La función recibe como parámetro una lista y devuelve verdadero (True) si la lista está ordeanda y falso si no lo está.
  4. Escribe una función tiene_duplicados(lista) que tome una lista y devuelva verdadero si algún elemento aparece más de una vez. La función no modificará la lista.
  5. Escribe una lista elimina_duplicados(lista) que tome una lista y devuelva una nueva lista con los elementos de la original sin repetir. Los elementos no tienen por que estar en el mismo orden.
  6. Escribe un programa con graphics que vaya creando pelotas cada 3 segundos (hasta 5). Las pelotas serán de colores y tamaños aleatorios y se moverán por la pantalla rebotando en los lados. Cuando hagas clic en una pelota, desaparecerá de la pantalla.
  7. Crea un programa que nos permita guardar nombres de amigos y sus teléfonos y emails. Usaremos como estructura para cada amigo una lista: en la primera posición irá su nombre. A continuación iremos almacenando sus datos, por ejemplo:
['Luis Pérez', 'luis@perez.com', '666333999']
Nuestro listado de amigos será una lista de listas.