Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 k 문자를 삭제한 후 가능한 모든 하위 문자열 찾기

<시간/>

우리는 문자열을 받습니다. 필요한 작업은 문자열에서 하나의 문자를 꺼내고 문자열의 나머지 문자를 인쇄하는 것입니다. 그리고 이것은 문자열의 각 문자에 대해 그렇게 해야 합니다.

루프 및 범위 포함

이것은 먼저 문자열 선언과 같이 필요한 매개변수를 나열하고 시작 및 끝 위치에 대한 변수를 만들고 각 문자에 대한 임시 자리 표시자를 만드는 기본적인 프로그래밍 접근 방식입니다. 각 문자를 반복하고 나머지 문자의 문자열을 생성하는 함수를 만듭니다.

예시

list =[]def letterCombinations(s, t, start, end, index, k):if (index ==k):elem ='' for j in range(k):elem +=t[j] list.append(elem) return i =start while (i <=end and end - i + 1>=k - index):temp[index] =s[i] letterCombinations(s, t, i + 1, end, index + 1, k) i +=1stringA ='Apple'k =1temp =[0] * (len(stringA) - k)start =0end =len(stringA) - 1letterCombinations(stringA, temp, start, end, 0 , len(문자열A) - k)인쇄(세트(목록))

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

{'애플', '애플', '애플', '애플'}

itertools 사용

이 접근 방식에서 우리는 조합이라는 이름의 함수가 있는 모듈 itertools를 사용합니다. 주어진 문자열에서 하나의 문자를 제거한 후 가능한 모든 문자 조합 생성을 처리합니다.

예시

itertools에서 가져오기 조합stringA ='Apple'k =1# 사용 조합res =set([''.join(i) for i in Combines(stringA, len(stringA) - k)])print(res) 

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

{'애플', '애플', '애플', '애플'}