Ответ 1
max(L,key=len)
предоставит вам объект с самой длинной длиной ([1,2,3]
в вашем примере). Чтобы на самом деле получить длину (если это все, о чем вы заботитесь), вы можете сделать len(max(L,key=len))
, что немного уродливо - Я сломаю его на 2 линии. Или вы можете использовать версию, предоставленную ecatamur.
Все эти ответы имеют петли - в моем случае циклы неявны, что обычно означает, что они будут выполняться в оптимизированном собственном машинного кода. Если вы думаете об этом, как вы могли бы узнать, какой элемент является самым длинным, не глядя на каждого?
Наконец, обратите внимание, что key=function
не является особенностью, характерной для max
. Многие встроенные python (max
, min
, sorted
, itertools.groupby
,...) используют этот конкретный аргумент ключевого слова. Это определенно стоит потратить немного времени, чтобы понять, как он работает и что он обычно делает.