如何在2上拆分字符串,例如“string”将被分成“st”,“ri”,“ng”组。 我检查了doc,来自itertools的groupby似乎是我需要的。但是,有没有办法通过不使用itertools来做到这一点? 感谢
答案 0 :(得分:2)
你可以在没有itertools的情况下做到,但速度会慢一些。除非学习成绩优异,否则请使用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)
答案 1 :(得分:1)
s='your input string'
ans=[ ]
i=0
while i < len(s):
ans.append( s[ i:i+2 ] )
i+=2
print ans
答案 2 :(得分:0)
如果您只想在不使用itertools的情况下执行这两个字符组,可以使用:
s = 'string'
groups = [''.join(g) for g in zip(s[:-1:2], s[1::2])]
请注意,这仅适用于偶数长度的字符串。