Я бы уточнил ответ Раймонда;если бы grouper () был доступен в стандартной библиотеке lib, этот ответ снова был бы очень близок к oneliner;К сожалению, это не так, grouper определен только в примерах itertools.
Я думаю, вы бы предпочли эту версию, поскольку она функциональна.Я не проверял его работоспособность, но, по крайней мере, я не открываю файл и не ищу дважды, а также храню все содержимое в памяти.
from itertools import izip_longest
def grouper(n, iterable, fillvalue=None):
"grouper(3, 'ABCDEFG', 'x') --> ABC DEF Gxx"
args = [iter(iterable)] * n
return izip_longest(fillvalue=fillvalue, *args)
max( grouper(2, open("test.txt")), key=lambda x:len(x[1]))[0]