Curso de Python – 3. Colecciones


¿Qué es una <Colección> en la realidad? Una colección de cromos, una colección de sellos, una colección de estudiantes, una colección de números, etc. En programación, los valores se pueden agrupar en <Colecciones> de varios valores, dependiendo de cómo nos interese guardarlos.

Este artículo forma parte del curso completo de Python

Teoría

3.1- Listas

Un valor, luego añadimos otro, que será seguido de más valores; y los guardaremos en un listado para poder obtener cada uno de los valores en orden o encontrarlo fácilmente. 

Para saber más en las siguientes entradas:

3.2- Secuencias

Una película es una secuencia de fotogramas y un texto es una secuencia de letras, con la misma lógica varios elementos en orden formarán una secuencia de elementos.

Para saber más en las siguientes entradas:

3.3- String a Lista – Lista a String

Un texto se puede separar en letras, y varias palabras se pueden juntar en un párrafo.

3.4- Tuplas

Podremos agrupar varios valores que no vayan a ser modificados nunca en una tupla. La tupla será ideal para utilizar varios valores de una sola vez.

3.5- Tuplas – Return de Funciones

Retornar un valor desde una función es sencillo; retornar muchos valores desde una función es igual de sencillo, con las tuplas.

3.6- Diccionarios

Si tenemos un listado de hoteles y queremos que cada hotel guarde su número de estrellas, con un listado no podremos. Sin embargo, sí podremos hacer esto utilizando un diccionario, cuyos elementos son parejas de clave y valor, siendo de clave el nombre del hotel y de valor la cantidad de estrellas.

Ejercicios

Ejercicio 3.1-texto.py

  1. Crea un texto de al menos 10 caracteres
  2. Imprime la letra que está en el índice 7
  3. Imprime las letras que están en el rango desde la posición 3 a la 8

Ejercicio 3.2-supermercado.py

Copia el siguiente listado: lista_de_inicio

lista_de_inicio = [
    "fruta y verduras",
    "carnes y pescados",
    "lácteos y huevos",
    "dulces y pan",
    "hogar y jardín",
    "cuidado y limpieza"
]
  1. Imprime la longitud del listado
  2. Elimina el elemento «hogar y jardín» (pista: usa la posición)
  3. Inserta en el listado el elemento: «entretenimiento y deportes»
  4. Imprime por pantalla cada uno de los elementos (por posición) formateado con: «En el mercado hay {primero} pero no {segundo}». Para obtener primero y segundo son cada una de las líneas separadas por » y » (pista: crea una lista desde un String con split. Ejemplo: «fruta y verduras».split(» y «) ).

Ejemplo para el primer elemento: «fruta y verduras» (primero será «fruta» y segundo «verduras»). Tiene que imprimir: «En el mercado hay fruta, pero no verduras».

Ejercicio 3.3_lista_campeones_del_mundo.py

Dadas las siguientes variables que representan a los jugadores de la selección Española de fútbol que jugo el mundial del 2010:

portero = "Casillas"
defensas_titulares = ["Ramos", "Pique", "Puyol", "Capdevila"]
centrocampistas = ["Xabi Alonso", "Busquets", "Xavi Hernandez", "Iniesta"]
delanteros = ["Pedrito", "Villa"]
suplentes = ["Marchena", "Torres", "Valdes", "Fabregas", "Mata", "Arbeloa",
             "Llorente", "Javi Martinez", "Silva", "Reina", "Navas"]

Se pide:

  1. Contar con cuantos delanteros jugo España la final del mundial. (lista delanteros)
  2. Crear una nueva lista llamada “titulares” que contenga a los jugadores titulares de la selección Española.
  3. En el minuto 60’ del partido se realiza un cambio: entra Navas por Pedrito. En la lista de “titulares” hay que meter
    a Navas que está en la lista de “suplentes” y eliminar a Pedrito de la lista de titulares y meterle en la de suplentes.
  4. Crear una lista llamada “selección” que contenga a todos los jugadores de la selección Española.

Ejercicio 3.4_lista_campeones_del_mundo_dorsal.py

Dada la siguiente lista:

futbolistas = ["1 - Casillas", "15 - Ramos", "3 - Pique", "5 - Puyol",
               "11 - Capdevila", "14 - Xabi Alonso", "16 - Busquets",
               "8 - Xavi Hernandez", "18 - Pedrito", "6 - Iniesta",
               "7 - Villa"]

Se pide ordenar la lista de forma descendente por el dorsal del futbolista. El resultado tendrá que ser el siguiente:

['18 - Pedrito', '16 - Busquets', '15 - Ramos', '14 - Xabi Alonso', '11 - Capdevila', '8 - Xavi Hernandez', '7 - Villa', '6 - Iniesta', '5 - Puyol', '3 - Pique', '1 - Casillas']

Ejercicio 3.5_diccionario_campeones_del_mundo.py

Dado el siguiente diccionario que representan a los jugadores de la selección Española de fútbol que jugo el mundial del 2010:

futbolistas = {
    1: "Casillas", 15: "Ramos",
    3: "Pique", 5: "Puyol",
    11: "Capdevila", 14: "Xabi Alonso",
    16: "Busquets", 8: "Xavi Hernandez",
    18: "Pedrito", 6: "Iniesta",
    7: "Villa"
}

Se pide:

  1. Contar el número de jugadores (elementos) en el diccionario.
  2. Modificar el nombre de “Casillas” por “Iker Casillas” en el diccionario.
  3. En el minuto 60’ del partido se realiza un cambio: entra “Navas” con el dorsal 22 por “Pedrito” (dorsal 18). En el
    minuto 87 se realiza otro cambio: entra “Fabregas” con el dorsal 10 por “Xabi Alonso” (dorsal 14). Hay que eliminar del diccionario a los dos jugadores titulares y añadir a los dos jugadores nuevos.
  4. Crear una lista con los dorsales de los jugadores que hay en el diccionario.
  5. Crear una lista con los nombres de los jugadores que hay en el diccionario.
  6. Crear una copia del diccionario “futbolistas” llamada “campeones_del_mundo”.
  7. Eliminar el diccionario “futbolistas”.
Comparte esta entrada en:
Safe Creative #1401310112503
Curso de Python – 3. Colecciones por "www.jarroba.com" esta bajo una licencia Creative Commons
Reconocimiento-NoComercial-CompartirIgual 3.0 Unported License.
Creado a partir de la obra en www.jarroba.com

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies

ACEPTAR
Aviso de cookies