2012-10-08 4 views
3

나는 일련의 문자를 가지고 있으며 특정 문자 주위의 문자를 잘라서 가능한 모든 문자 조합을 찾고 싶습니다.인접한 문자의 파이썬 세트 조합

C는 여기 내 특수 문자와 시퀀스 그래서 X는 무엇이든 될 수 있습니다

XCXX 

그래서 모든 가능한 조합은 다음과 같습니다
XCXX 
XCX 
XC 
CXX 
CX 
C 

이를위한 파이썬 기능이 있나요 또는 처음부터 코드를 작성해야합니까?

당신에게 전에 당신의 특별한 요소 C 후 요소의 수를 계산

답변

4

:

s는 문자열이고 is에서 "특수 문자"의 인덱스
def cuts(s,i): 
    return [ s[a:b] for a in range(i+1) for b in range(i+1,len(s)+1)] 

. 예 :

>>> cuts('XCXX', 1) 
['XC', 'XCX', 'XCXX', 'C', 'CX', 'CXX'] 
3

에 한번 감사드립니다. 그런 다음 조합은이 두 숫자로 고유하게 정의되며, 문자열 분할을 사용하여 특정 값을 얻을 수 있습니다. 나는 이런 식으로 처음부터 코딩 것

0

아니,하지만 당신은 한 - 라이너로 할 수 있습니다.

data = "XCXX" 
cIndex = data.index("C") 
permutations = [data[i:j+1] for i in range(cIndex+1) 
     for j in range(cIndex, len(data))]