У меня есть список, содержащий элементы подсписков, которые выглядят так:
li = [[1],[2,3,4],[5,6],[7,8,9,10],[11],[12],[13],[14,15,16]]
Я хотел бы объединить все подсписки, которые короче определенного значения limit
, со следующими подсписками, пока длина нового подсписка не станет> = limit
Примеры:
если limit=3
предыдущий список должен стать:
li_result = [[1,2,3,4], [5,6,7,8,9,10], [11,12,13], [14,15,16]]
если limit=2
предыдущий список должен стать:
li_result = [[1,2,3,4], [5,6] [7,8,9,10], [11,12], [13,14,15,16]]
если limit=1
предыдущий список должен стать:
li_result = [[1],[2,3,4],[5,6],[7,8,9,10],[11],[12],[13],[14,15,16]]
Для объединения я мог бы использовать с
itertools import chain
list(chain.from_iterable(li)
Как бы я ограничил объединение на основе моего limit
значения?