|
| 1 | +### |
| 2 | +# 03 - Listas |
| 3 | +# Secuencias mutables de elementos. |
| 4 | +# Pueden contener elementos de diferentes tipos. |
| 5 | +### |
| 6 | + |
| 7 | +import os |
| 8 | +os.system("clear") |
| 9 | + |
| 10 | +# Creación de listas |
| 11 | +print("\nCrear listas") |
| 12 | +lista1 = [1, 2, 3, 4, 5] # lista de enteros |
| 13 | +lista2 = ["manzanas", "peras", "plátanos"] # lista de cadenas |
| 14 | +lista3 = [1, "hola", 3.14, True] # lista de tipos mixtos |
| 15 | + |
| 16 | +lista_vacia = [] |
| 17 | +lista_de_listas = [[1, 2], ['calcetin', 4]] |
| 18 | +matrix = [[1, 2], [2, 3], [4, 5]] |
| 19 | + |
| 20 | +print(lista1) |
| 21 | +print(lista2) |
| 22 | +print(lista3) |
| 23 | +print(lista_vacia) |
| 24 | +print(lista_de_listas) |
| 25 | +print(matrix) |
| 26 | + |
| 27 | +# Acceso a elementos por índice |
| 28 | +print("\nAcceso a elementos por índice") |
| 29 | +print(lista2[0]) # manzanas |
| 30 | +print(lista2[1]) # peras |
| 31 | +print(lista2[-1]) # plátanos |
| 32 | +print(lista2[-2]) # peras |
| 33 | + |
| 34 | +print(lista_de_listas[1][0]) |
| 35 | + |
| 36 | +# Slicing (rebanado) de listas |
| 37 | +lista1 = [1, 2, 3, 4, 5] |
| 38 | +print(lista1[1:4]) # [2, 3, 4] |
| 39 | +print(lista1[:3]) # [1, 2, 3] |
| 40 | +print(lista1[3:]) # [4, 5] |
| 41 | +print(lista1[:]) # [1, 2, 3, 4, 5] |
| 42 | + |
| 43 | +# HAY MÁS MAGIA |
| 44 | +lista1 = [1, 2, 3, 4, 5, 6, 7, 8] |
| 45 | +print(lista1[::2]) # para devolver índices pares |
| 46 | +print(lista1[::-1]) # para devolver índices inversos |
| 47 | + |
| 48 | +# Modificar una lista |
| 49 | +lista1[0] = 20 |
| 50 | +print(lista1) |
| 51 | + |
| 52 | +# Añadir elementos a una lista |
| 53 | +lista1 = [1, 2, 3] |
| 54 | + |
| 55 | +# forma larga y menos eficiente |
| 56 | +lista1 = lista1 + [4, 5, 6] |
| 57 | +print(lista1) |
| 58 | + |
| 59 | +# forma corta y más eficiente |
| 60 | +lista1 += [7, 8, 9] |
| 61 | +print(lista1) |
| 62 | + |
| 63 | +# Recuperar longitud de una lista |
| 64 | +print("Longitud de la lista", len(lista1)) |
| 65 | + |
| 66 | +### |
| 67 | +# EJERCICOS |
| 68 | +### |
| 69 | + |
| 70 | +# Ejercicio 1: El mensaje secreto |
| 71 | +# Dada la siguiente lista: |
| 72 | +# mensaje = ["C", "o", "d", "i", "g", "o", " ", "s", "e", "c", "r", "e", "t", "o"] |
| 73 | +# Utilizando slicing y concatenación, crea una nueva lista que contenga solo el mensaje "secreto". |
| 74 | + |
| 75 | +# Ejercicio 2: Intercambio de posiciones |
| 76 | +# Dada la siguiente lista: |
| 77 | +# numeros = [10, 20, 30, 40, 50] |
| 78 | +# Intercambia la primera y la última posición utilizando solo asignación por índice. |
| 79 | + |
| 80 | +# Ejercicio 3: El sándwich de listas |
| 81 | +# Dadas las siguientes listas: |
| 82 | +# pan = ["pan arriba"] |
| 83 | +# ingredientes = ["jamón", "queso", "tomate"] |
| 84 | +# pan_abajo = ["pan abajo"] |
| 85 | +# Crea una lista llamada sandwich que contenga el pan de arriba, los ingredientes y el pan de abajo, en ese orden. |
| 86 | + |
| 87 | +# Ejercicio 4: Duplicando la lista |
| 88 | +# Dada una lista: |
| 89 | +# lista = [1, 2, 3] |
| 90 | +# Crea una nueva lista que contenga los elementos de la lista original duplicados. |
| 91 | +# Ejemplo: [1, 2, 3] -> [1, 2, 3, 1, 2, 3] |
| 92 | + |
| 93 | +# Ejercicio 5: Extrayendo el centro |
| 94 | +# Dada una lista con un número impar de elementos, extrae el elemento que se encuentra en el centro de la lista utilizando slicing. |
| 95 | +# Ejemplo: lista = [10, 20, 30, 40, 50] -> El centro es 30 |
| 96 | + |
| 97 | +# Ejercicio 6: Reversa parcial |
| 98 | +# Dada una lista, invierte solo la primera mitad de la lista (utilizando slicing y concatenación). |
| 99 | +# Ejemplo: lista = [1, 2, 3, 4, 5, 6] -> Resultado: [3, 2, 1, 4, 5, 6] |
0 commit comments