Lista, tuplas, diccionarios

Programación - Ingeniería Industrial

Profesor: Santiago Quiñones

Docente Investigador

Departamento de Ingeniería Civil

Contenidos

Listas

Tipos de datos en Python

  • float - números reales
  • int - números enteros
  • str - cadenas, texto
  • bool - True, False

Cada variable representa un solo valor

altura = 1.73 
alto = True

Problema

  • Ciencia de datos: muchos puntos de datos
  • Altura de una familia entera

Inconveniente

altura1 = 1.73 
altura2 = 1.68
altura3 = 1.71
altura4 = 1.89

Listas Python

  • [a, b, c]
[1.73, 1.68, 1.71, 1.89]
[1.73, 1.68, 1.71, 1.89]
familia = [1.73, 1.68, 1.71, 1.89]
print(familia)
[1.73, 1.68, 1.71, 1.89]
  • nombra una colección de valores
  • contiene cualquier tipo de datos

Subconjuntos en listas

familia = ["hermano", 1.73, "hermana", 1.68, "papa", 1.71, "mama", 1.89]
print(familia)
["hermano", 1.73, "hermana", 1.68, "papa", 1.71, "mama", 1.89]
familia[3]
1.68

Subconjuntos en listas

Subconjuntos en listas

["hermano", 1.73, "hermana", 1.68, "papa", 1.71, "mama", 1.89]
familia[4]
'papa'
familia[-1]
1.89
familia[7]
1.89

Rebanando listas

["hermano", 1.73, "hermana", 1.68, "papa", 1.71, "mama" 1.89]
familia
[1.68, "papa"]
familia[3:5]

[   inicio   :   final   ]

    inclusivo      exclusivo

[1.73, "hermana", 1.68]
familia[1:4]

Rebanando listas

["hermano", 1.73, "hermana", 1.68, "papa", 1.71, "mama", 1.89]
familia
["hermano", 1.73, "hermana", 1.68
familia[:4]
[1.71, "mama" 1.89]
familia[5:]

Tuplas

Definición

  • No permite añadir, eliminar, mover elementos
  • Permite extraer porciones, pero el resultado es una nueva tupla
  • Permite comprobar si un elemento se encuentra en la tupla

Una tupla es una colección de datos que representa una colección de objetos, pudiendo ser de distintos tipos.

nombre_tupla  = (elem1, elem2, elem3, ...)

Las tuplas son listas inmutables, es decir, no se puede modificar después de su creación.

Sintaxis:

Ejemplo: enlace

Diccionarios

Definición

Otro tipo de datos útil son los diccionarios. A diferencia de las listas, donde debe realizar un seguimiento de un índice específico para poder acceder a un valor determinado, los diccionarios utilizan palabras clave.

Se puede crear un diccionario usando llaves `{` `}` y cada elemento en él es un par key : value.

nombre_diccionarios  = {clave1:valor, clave2:valor, clave3:valor, }

Sintaxis:

Ejemplo: enlace

Ejemplo

columnas= {
    "Columna A1": {
        "material": "Hormigón armado",
        "altura": 3.0,  # en metros
        "seccion_transversal": "rectangular",
        "dimensiones": {
            "ancho": 0.4,  # en metros
            "profundidad": 0.6  # en metros
        },
        "capacidad_carga": 2000,  # en kilonewtons
        "ubicacion": "Planta baja"
    },
    "Columna B2": {
        "material": "Acero",
        "altura": 4.5,  # en metros
        "seccion_transversal": "circular",
        "dimensiones": {
            "diametro": 0.5  # en metros
        },
        "capacidad_carga": 2500,  # en kilonewtons
        "ubicacion": "Primer piso"
    }
}

Claves de un diccionario

En Python, las claves de un diccionario deben ser inmutables. Aquí hay algunos tipos comunes que se pueden utilizar como claves de diccionario. Enlace.

Diferencia entre listas, tuplas y diccionarios

Las listas se utilizan para colecciones ordenadas y modificables, las tuplas para colecciones ordenadas e inmutables, y los diccionarios para almacenar pares clave-valor no ordenados.

 

La elección de la estructura de datos adecuada depende de la naturaleza de los datos y las operaciones que desees realizar con ellos.

Problemas

Reto 1: Suma de elementos

 

Generar una función devuelva la suma de un arreglo bidimensional; mismo que se lo recibe como parámetro.

 

El arreglo para probar la solución es:

informacion = [[1, 2, 3], [10, 20, 30], [100, 200, 300]]

 

La función debe se invocada desde la función principal; además el método debe recibir como parámetro un arreglo bidimensional.

Reto 2: Promedio

Dado un arreglo; por ejemplo:

 

informacion = [1, 2, 3, 10, 20, 30, 100, 200, 300]

 

Generar las función que devuelva la media aritmética del arreglo; recibe como parámetro un arreglo de tipo entero

 

Reto 3: Norma de un vector

Tema URL
Espacios de nombres, módulos https://j2logo.com/python/tutorial/espacios-de-nombres-modulos-y-paquetes/
Parámetros posicionales y parámetros con nombre en una función https://j2logo.com/tipo-parametros-funcion-python/
Variables locales y globales https://snakify.org/es/lessons/functions/
Funciones y parámetros https://j2logo.com/python/tutorial/funciones-en-python/#function-params
Importing Your Own Python Modules Properly https://www.youtube.com/watch?v=GxCXiSkm6no&ab_channel=NeuralNine

Referencias