是否可以每隔 n 个字符拆分一个 Python 字符串,然后连接后续字符?
例如,假设我有一个包含'Coffee'
.
如何拆分并获得这些变化:
C
Co
Cof
Coff
Coffe
Coffee
是否可以每隔 n 个字符拆分一个 Python 字符串,然后连接后续字符?
例如,假设我有一个包含'Coffee'
.
如何拆分并获得这些变化:
C
Co
Cof
Coff
Coffe
Coffee
或者,在 Python 3.2+ 中,itertools.accumulate()
.
>>> list(itertools.accumulate("Coffee"))
['C', 'Co', 'Cof', 'Coff', 'Coffe', 'Coffee']
值得注意的是,这可能不是一种特别有效的方法,因为它(内部)将使用大量字符串连接,我提供它是出于兴趣,而不是最好的方法。
您可以使用 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']
既然你已经有了几个可行的解决方案,没有人会因为我在你脸上扔脑筋急转弯而把我钉死在十字架上。玩得开心:
map(lambda x:x[::-1],re.findall(r"(?=(.+))","Coffee"[::-1]))[::-1]