Я хотел бы улучшить мое понимание относительно аргумента key
встроенной функции max
. Пожалуйста, рассмотрите следующий пример:
У меня есть список списков, и я хочу найти самый длинный.
Я могу написать прямое решение:
maximum = 0
for l in lists:
maximum = max(maximum, len(l))
Однако я бы предпочел избегать явного цикла for, использующего аргумент key
max
. Насколько я понимаю, ключ будет применять свой аргумент к каждому элементу входных данных, а затем сравнивать эти выходные данные. Так что это должно работать:
maximum = max(lists, key=len)
Я полагаю, что это должно сработать, потому что, согласно моему (очевидно ложному) пониманию, приведенное выше утверждение будет эквивалентно применению длины к каждому элементу, а затем вызову max
:
max([len(l) for l in text_tokenized])
Чего мне не хватает?