به نام خدا
تابع min و max توابعی از پیش ساخته شده یا Built-in function هستند.
کد تابع min به شکل زیر است:
1- برای اعداد:
min (num1, num2, *args[, key])
مثال
2- برای iterationها:
min(iterable, *[, key, default])
مثال:
یکی از موارد اختیاری در تابع min و max، آرگومان key هست که می تواند یک تابع باشد. اما دلیل استفاده از آن چیست؟ بگذارید آن را با مثالی توضیح دهیم. فرض کنید کد زیر نوشته شده است حال خروجی چیست؟
در این جا key تابع بدون نامی است که ورودی x را دریافت کرده و طول آن را بر می گرداند. کاری که در این جا تابع min انجام می دهد این است که در ابتدا تک تک خانه های list_test به جای x در تابع بدون نام می نشینند و طولشان بدست می آید. سپس چون تابع min است نگاه می کند ببیند از این موارد کدام یک مقدار کمتری دارد سپس مقدار متناظر آن را از list_test بر می گرداند.
روند برنامه:
1- محاسبه ی تابع مقابل key برای تک تک عناصر iteration که در min یا max آمده است که در این جا عناصر list_test بررسی می شود. برای مثال بالا: [4, 5, 3, 6]
2- اگر تابع min باشد، کوچکترین مقدار را بر می گرداند که در این مثال عدد 3 است.
3- حال بررسی می کند که کدام خانه ی list_test مقدار 3 شده است که آن خانه ی 'red' هست در نتیجه مقدار red به عنوان خروجی بر می گردد.
پس در کل خروجی به شکل زیر است.
مثال بیشتر و منبع:
https://medium.com/analytics-vidhya/how-to-use-key-function-in-max-and-min-in-python-1fdbd661c59c