Как разбить строку на 2, например, «строка» будет разбита на группы «st», «ri», «ng». Я проверяю документ, группа из itertools, кажется, то, что мне нужно. Однако есть ли способ сделать это, просто не используя itertools? спасибоКак использовать группу Python
ответ
Вы можете сделать это без itertools, но это будет медленнее. Если это не обучающейся excersize, использовать «окунь» рецепт от itertools page:
def grouper(iterable, n, fillvalue=None):
"Collect data into fixed-length chunks or blocks"
# grouper('ABCDEFG', 3, 'x') --> ABC DEF Gxx
args = [iter(iterable)] * n
return izip_longest(fillvalue=fillvalue, *args)
Обратите внимание, что 'izip_longest' требует Python 2.6+ –
Я предпочитаю [@ nosklo's ответ] (http://stackoverflow.com/a/434328/790387) из связанного вопроса, поскольку он не имеет ограничений по версии –
В зависимости от Python 2.6, выпущенного в 2008 году, вряд ли серьезное ограничение версии. – user4815162342
s='your input string'
ans=[ ]
i=0
while i < len(s):
ans.append(s[ i:i+2 ])
i+=2
print ans
Если вы просто хотите, чтобы сделать две группы символов без itertools, вы можете использовать это:
s = 'string'
groups = [''.join(g) for g in zip(s[:-1:2], s[1::2])]
Обратите внимание, что это работает только для строк с четной длиной.
Также http://stackoverflow.com/questions/434287/what-is-the-most-pythonic-way-to-iterate-over-a-list-in-chunks?lq=1 –
См. [Это ответ] (http://stackoverflow.com/questions/434287/what-is-the-most-pythonic-way-to-iterate-over-a-list-in-chunks/434328#434328) для не-itertools версия. –
Это фактический ответ: http://stackoverflow.com/questions/12328108/how-can-i-split-a-string-in-python –