Encontrar el mínimo por atributo en Python

PythonPythonBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En Python, puedes usar la función min() para encontrar el valor mínimo de una lista. Sin embargo, ¿y si quieres encontrar el valor mínimo de una lista basado en una propiedad o atributo específico de cada elemento de la lista? Aquí es donde la función min_by() resulta muy útil.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python/BasicConceptsGroup -.-> python/comments("Comments") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") python/DataStructuresGroup -.-> python/dictionaries("Dictionaries") python/FunctionsGroup -.-> python/function_definition("Function Definition") python/FunctionsGroup -.-> python/lambda_functions("Lambda Functions") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") subgraph Lab Skills python/comments -.-> lab-13693{{"Encontrar el mínimo por atributo en Python"}} python/lists -.-> lab-13693{{"Encontrar el mínimo por atributo en Python"}} python/tuples -.-> lab-13693{{"Encontrar el mínimo por atributo en Python"}} python/dictionaries -.-> lab-13693{{"Encontrar el mínimo por atributo en Python"}} python/function_definition -.-> lab-13693{{"Encontrar el mínimo por atributo en Python"}} python/lambda_functions -.-> lab-13693{{"Encontrar el mínimo por atributo en Python"}} python/build_in_functions -.-> lab-13693{{"Encontrar el mínimo por atributo en Python"}} end

Encuentra el valor mínimo de una lista basado en una función

Escribe una función llamada min_by(lst, fn) que tome una lista lst y una función fn como argumentos. La función debe mapear cada elemento de la lista a un valor utilizando la función proporcionada y luego devolver el valor mínimo.

def min_by(lst, fn):
  return min(map(fn, lst))
min_by([{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }], lambda v : v['n']) ## 2

Resumen

En este desafío, aprendiste cómo encontrar el valor mínimo de una lista basado en una propiedad o atributo específico de cada elemento de la lista utilizando la función min_by(). Esta función mapea cada elemento de la lista a un valor utilizando una función proporcionada y luego devuelve el valor mínimo.