문자열을 구성하기 위해 최소 요소를 구해야 하는 경우에는 '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'이면 콘솔에 결과가 표시됩니다.