2013-07-01 2 views

답변

3

당신은 루프를 위해 사용할 수 있습니다 :

>>> 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'] 
+0

감사합니다. –

4

또는 파이썬 3.2+, itertools.accumulate().

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

그것은이 아마 (내부적으로) 문자열 연결로 많이 사용하므로 특히 효율적인 방법이 아니라고 지적 가치, 차라리 최상의 방법 것보다, 관심의 문제로 제공합니다.

+0

덕분에, 그것을 밖으로 시도합니다. –

0

이미 몇 가지 해결 방법이 있으므로 아무도 뇌의 티저를 얼굴에 던지면 십자가에 못 박힐 것입니다. 이 중 하나를 즐기십시오 :

map(lambda x:x[::-1],re.findall(r"(?=(.+))","Coffee"[::-1]))[::-1] 
관련 문제