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