2017-01-19 20 views
-7

Что это такое key=func часть среднее значение в max(a,b,c,key=func) здесь https://docs.python.org/2/library/functions.html#min?Что означает эта функция `key = func` в` max (a, b, c, key = func) `в Python?

Я знаю, как эта функция работает в Python. Но обычно я вижу, что он используется просто как z = max(a, b, c) Но в документах Python я нашел эту часть, и я ее не понимаю. Является ли это дополнительной дополнительной функцией этой функции или что?

+8

Этот ** точный абзац, который вы ссылаетесь на **, сообщает вам, что делает аргумент 'key'. –

+1

@ DanielRoseman Ну, это одно предложение: «Необязательный ключевой аргумент задает функцию упорядочения с одним аргументом, подобную той, которая используется для list.sort().». Само по себе это может быть не очень полезно, но оно указывает вам в правильном направлении (смотрите документацию для 'list.sort()', которая дает более подробное объяснение его параметра 'key'). – Tagc

+0

Я согласен с Tagc: многие пользователи не видят смысла, пока не увидит точный пример. –

ответ

4

позволяет определить критерий, который заменяет сравнение между элементами.

Например:

>>>l = ["hhfhfhh","xx","123455676883"] 
>>>max(l, key=len) 
'123455676883' 

возвращает самую длинную строку в списке, который "123455676883"

Без него было бы вернуться "xx", потому что это самый высокий рейтинг строки согласно сравнения строк.

>>>l = ["hhfhfhh","xx","123455676883"] 
>>>max(l) 
'xx' 
+0

Большое спасибо.) Это более понятно для меня. Таким образом, в основном в функции 'func' может быть использована любая функция, которая может быть применена к элементам списка с точечной нотацией (что означает, что оно включено в класс String или любой класс). Это верно? –

+0

есть. Правильно. И если это требует некоторой настройки, вы можете использовать 'lambda' для определения своих собственных функций. Пример: предоставить len-3 будет: 'lambda s: len (s) -3' –

 Смежные вопросы

  • Нет связанных вопросов^_^