0

如何将字符串拆分为 2,例如“string”将拆分为“st”、“ri”、“ng”组。我检查了文档,来自 itertools 的 groupby 似乎是我需要的。但是,有没有办法简单地通过不使用 itertools 来做到这一点?谢谢

4

3 回答 3

2

你可以不用 itertools 来做,但是会慢一些。除非是学习练习,否则请使用itertools 页面中的“grouper”配方:

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)
于 2013-09-09T04:42:53.033 回答
1
s='your input string'
ans=[  ]
i=0
while i < len(s):
    ans.append( s[ i:i+2 ] )
    i+=2
print ans
于 2013-09-09T06:00:00.827 回答
0

如果你只想在没有 itertools 的情况下做两个字符组,你可以使用这个:

s = 'string'
groups = [''.join(g) for g in zip(s[:-1:2], s[1::2])]

请注意,这只适用于偶数长度的字符串。

于 2013-09-09T09:28:09.223 回答