Этот вопрос напоминает мне метод Perl 6 .comb(n)
. Он разбивает строки на куски размером n
. (Это еще не все, но я опущу детали.)
Достаточно просто реализовать подобную функцию в Python3 как лямбда-выражение:
comb = lambda s,n: [s[i:i+n] for i in range(0,len(s),n)]
Тогда вы можете назвать это так:
comb('1234567', 2) # returns ['12', '34', '56', '7']
Эта comb()
функция также будет работать со списками (для создания списка списков):
comb(['cat', 'dog', 'bird'], 2) # returns [['cat', 'dog'], ['bird']]