0

是否可以每隔 n 个字符拆分一个 Python 字符串,然后连接后续字符?

例如,假设我有一个包含'Coffee'.

如何拆分并获得这些变化:

C
Co
Cof
Coff
Coffe
Coffee
4

3 回答 3

4

或者,在 Python 3.2+ 中,itertools.accumulate().

>>> list(itertools.accumulate("Coffee"))
['C', 'Co', 'Cof', 'Coff', 'Coffe', 'Coffee']

值得注意的是,这可能不是一种特别有效的方法,因为它(内部)将使用大量字符串连接,我提供它是出于兴趣,而不是最好的方法。

于 2013-07-01T21:11:46.683 回答
3

您可以使用 for 循环:

>>> s = 'Coffee'

>>> for i in range(len(s)):
...     print s[:i+1]

C
Co
Cof
Coff
Coffe
Coffee

或列表理解:

>>> [s[:i+1] for i in range(len(s))]
['C', 'Co', 'Cof', 'Coff', 'Coffe', 'Coffee']
于 2013-07-01T21:10:01.797 回答
0

既然你已经有了几个可行的解决方案,没有人会因为我在你脸上扔脑筋急转弯而把我钉死在十字架上。玩得开心:

map(lambda x:x[::-1],re.findall(r"(?=(.+))","Coffee"[::-1]))[::-1]
于 2013-07-01T21:34:59.260 回答