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

문자열 구성을 위한 최소 요소를 가져오는 Python 프로그램

<시간/>

문자열을 구성하기 위해 최소 요소를 구해야 하는 경우에는 'set' 연산자, 'combinations' 메서드, 'issubset' 메서드 및 간단한 반복 작업이 필요합니다.

예시

아래는 동일한 데모입니다.

from itertools import combinations

my_list = ["python", "is", "fun", "to", "learn"]

print("The list is :")
print(my_list)

my_target_str = "onis"

my_result = -1
my_set_string = set(my_target_str)
complete_val = False
for value in range(0, len(my_list) + 1):

   for sub in combinations(my_list, value):

      temp_set = set(ele for subl in sub for ele in subl)

      if my_set_string.issubset(temp_set):
         my_result = value
         complete_val = True
         break
   if complete_val:
      break

print("The result is :")
print(my_result)

출력

The list is :
['python', 'is', 'fun', 'to', 'learn']
The result is :
2

설명

  • 필요한 패키지를 환경으로 가져옵니다.

  • 목록이 정의되고 콘솔에 표시됩니다.

  • 다른 문자열이 정의되었습니다.

  • 문자열이 목록으로 변환됩니다.

  • 목록이 반복되고 목록에 있는 요소의 다른 조합이 얻어집니다.

  • 목록이 반복되어 집합으로 변환됩니다.

  • 'issubset' 메서드는 특정 값이 집합에 속하는지 확인하는 데 사용됩니다.

  • 그렇다면 변수에 'True' 값이 할당되고 루프에서 벗어납니다.

  • 이 값이 결국 'True'이면 콘솔에 결과가 표시됩니다.