n 번째 문자마다 파이썬 문자열을 분할 한 다음 연속 문자를 연결할 수 있습니까?문자열을 문자 목록으로 분할 한 다음 각 문자를 연결하는 방법
예를 들어 'Coffee'
이 포함 된 문자열이 있다고 가정합니다.
어떻게 이러한 변화 분할 얻을 수 있습니다 :
C
Co
Cof
Coff
Coffe
Coffee
n 번째 문자마다 파이썬 문자열을 분할 한 다음 연속 문자를 연결할 수 있습니까?문자열을 문자 목록으로 분할 한 다음 각 문자를 연결하는 방법
예를 들어 'Coffee'
이 포함 된 문자열이 있다고 가정합니다.
어떻게 이러한 변화 분할 얻을 수 있습니다 :
C
Co
Cof
Coff
Coffe
Coffee
당신은 루프를 위해 사용할 수 있습니다 :
>>> 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']
또는 파이썬 3.2+, itertools.accumulate()
.
>>> list(itertools.accumulate("Coffee"))
['C', 'Co', 'Cof', 'Coff', 'Coffe', 'Coffee']
그것은이 아마 (내부적으로) 문자열 연결로 많이 사용하므로 특히 효율적인 방법이 아니라고 지적 가치, 차라리 최상의 방법 것보다, 관심의 문제로 제공합니다.
덕분에, 그것을 밖으로 시도합니다. –
이미 몇 가지 해결 방법이 있으므로 아무도 뇌의 티저를 얼굴에 던지면 십자가에 못 박힐 것입니다. 이 중 하나를 즐기십시오 :
map(lambda x:x[::-1],re.findall(r"(?=(.+))","Coffee"[::-1]))[::-1]
감사합니다. –