Pythonで属性に基づいて最小値を見つける

PythonPythonBeginner
今すぐ練習

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

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

Pythonでは、リストの最小値を見つけるにはmin()関数を使用できます。ただし、リストの各要素の特定のプロパティまたは属性に基づいてリストの最小値を見つけたい場合はどうなりますか?このときに便利なのがmin_by()関数です。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) 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{{"Pythonで属性に基づいて最小値を見つける"}} python/lists -.-> lab-13693{{"Pythonで属性に基づいて最小値を見つける"}} python/tuples -.-> lab-13693{{"Pythonで属性に基づいて最小値を見つける"}} python/dictionaries -.-> lab-13693{{"Pythonで属性に基づいて最小値を見つける"}} python/function_definition -.-> lab-13693{{"Pythonで属性に基づいて最小値を見つける"}} python/lambda_functions -.-> lab-13693{{"Pythonで属性に基づいて最小値を見つける"}} python/build_in_functions -.-> lab-13693{{"Pythonで属性に基づいて最小値を見つける"}} end

関数に基づくリストの最小値を見つける

min_by(lst, fn)という名前の関数を書きます。この関数は、リストlstと関数fnを引数として受け取ります。この関数は、与えられた関数を使ってリストの各要素をある値にマッピングし、その後最小値を返す必要があります。

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

まとめ

このチャレンジでは、min_by()関数を使って、リストの各要素の特定のプロパティまたは属性に基づいてリストの最小値を見つける方法を学びました。この関数は、与えられた関数を使ってリストの各要素をある値にマッピングし、その後最小値を返します。