在Python中每个n个字符拆分字符串


在Python中每个n个字符拆分字符串


方法1-列表推导式

>>> line = '1234567890'
>>> n = 2
>>> [line[i:i+n] for i in range(0, len(line), n)]
['12', '34', '56', '78', '90']

方法2-正则表达式

>>> import re
>>> re.findall('..','1234567890')
['12', '34', '56', '78', '90']

或者

>>> import re
>>> re.findall('.{1,2}', '123456789')
['12', '34', '56', '78', '9']

re.finditer如果字符串很长,你可以使用chunk来生成chunk。

或者这样

>>> s = '1234567890'
>>> map(''.join, zip(*[iter(s)]*2))
['12', '34', '56', '78', '90']