43. Actualizar una fila
Crea una función para actualizar una fila existente en una lista de registros basándose en su id.
La función debe aceptar la lista actual de registros, un id_a_actualizar y un diccionario con los nuevos_datos para esa fila. Devolverá una nueva lista de registros con la fila actualizada. Si el id no existe, la lista debe permanecer sin cambios.
def actualizar_registro(registros: list[dict], id_a_actualizar: int, nuevos_datos: dict) -> list[dict]:
# Tu código aquí
pass
# Ejemplo
# datos_actualizados = {"edad": 31, "ciudad": "Madrid"}
# registros_actualizados = actualizar_registro(registros_ejemplo, 1, datos_actualizados)
# print(registros_actualizados)
# Resultado esperado:
# [
# {"id": 1, "nombre": "Alice", "edad": 31, "ciudad": "Madrid"},
# {"id": 2, "nombre": "Bob", "edad": 24, "ciudad": "Londres"},
# {"id": 3, "nombre": "Charlie", "edad": 35, "ciudad": "París"}
# ]
#
# registros_sin_cambio = actualizar_registro(registros_ejemplo, 99, {"nombre": "Inexistente"})
# print(registros_sin_cambio == registros_ejemplo) # True
Ratoncito
Implementa la actualización, sobrescribiendo los campos existentes con los nuevos_datos y añadiendo los nuevos. Asegúrate de que solo la fila correspondiente al id sea modificada y que la lista original no se altere.
Dragón
Añade validación para los nuevos_datos (por ejemplo, si se intenta modificar el id). Considera la eficiencia para listas muy grandes, donde una búsqueda lineal podría ser lenta.
This work is under a Attribution-NonCommercial-NoDerivatives 4.0 International license.
Support me on Ko-fi