我如何获得以下列表理解中最长的项目?
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项的实际文本?
答案 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()
将找到最长的字符串。