Challenge: preparar tareas pendientes por prioridad
Objetivo #
Preparar tareas pendientes por prioridad aplicando lo aprendido en los temas anteriores.
Conocimientos previos #
Funciones, listas de tuplas, índices, lambdas, filter(), sorted() y mutabilidad.
Tu reto #
Implementa preparar_tareas(tareas). Recibirás una lista de tuplas con el formato (nombre, prioridad, completada). La prioridad es un entero positivo y completada es un booleano. Las prioridades son distintas. Un número menor indica mayor urgencia.
Devuelve una nueva lista que contenga únicamente las tuplas de tareas pendientes, ordenadas por prioridad ascendente. Conserva todos los datos de cada tupla y no modifiques la lista original. Si no hay pendientes, devuelve [].
Practica filter() para seleccionar las pendientes y sorted() con una lambda para ordenarlas. La función debe devolver el resultado, sin imprimirlo. El corrector la llamará con distintos datos.
Ejemplo #
1tareas = [ 2 ("Enviar informe", 3, False), 3 ("Revisar aviso", 1, False), 4 ("Archivar", 2, True), 5]
El resultado debe ser:
1[("Revisar aviso", 1, False), ("Enviar informe", 3, False)]
La lista tareas debe conservar su contenido y orden originales.
Ver una pista
En cada tupla, el índice 2 indica si está completada y el índice 1 contiene la prioridad. sorted() devuelve una nueva lista.