如何获取列表中具有最大长度的项目

时间:2015-01-27 21:22:50

标签: python

我如何获得以下列表理解中最长的项目?

lc = [item.decode('utf-8') for l in srt_breakdown.values() for item in l]

以下是我如何得到它的长度:

max_length = max([len(item.decode('utf-8')) for l in srt_breakdown.values() for item in l]

我如何获得max_length项的实际文本?

1 个答案:

答案 0 :(得分:1)

使用key关键字参数;将其设置为len以找到最长的字符串:

max_length = max(
    (item.decode('utf-8') for l in srt_breakdown.values() for item in l),
    key=len)

请注意,我使用了一个生成器表达式,以便不首先在内存中构建整个字符串列表;而是根据需要解码字符串。

max()将返回key(element)结果最高的第一个字符串。使用len作为key表示max()将找到最长的字符串。