두 개의 문자열이 주어졌을 때, 첫 번째 문자열에는 포함되어 있지만 두 번째 문자열에는 없는 문자를 찾아 화면에 출력해야 하는 경우가 있습니다. 이럴 때 사용자로부터 문자열 두 개를 입력받은 뒤, 파이썬의 집합(set) 자료형을 활용하면 간단하게 두 문자열 간의 차이를 구할 수 있습니다.
파이썬은 기본 자료형 중 하나로 'set(집합)'을 제공합니다. 집합은 중복되지 않는 고유한 요소들만 저장하는 자료구조입니다.
집합은 교집합(intersection), 차집합(difference), 합집합(union), 대칭차집합(symmetric difference)과 같은 다양한 연산을 수행할 때 특히 유용합니다.
예제 코드
다음은 실제 동작 과정을 보여주는 예시입니다.
my_str_1 = input("첫 번째 문자열을 입력하세요...")
my_str_2 = input("두 번째 문자열을 입력하세요...")
my_result = list(set(my_str_1)-set(my_str_2))
print("첫 번째 문자열에는 있지만 두 번째 문자열에는 없는 문자 :")
for i in my_result:
print(i)실행 결과
Enter the first string...Jane Enter the second string...Wane The letters in first string but not in second string : J
코드 설명
- 사용자로부터 두 개의 문자열을 입력받습니다.
- 입력받은 문자열들을 각각 집합(set)으로 변환한 후, 두 집합의 차집합을 계산합니다.
- 차집합 결과를 리스트(list) 형태로 변환합니다.
- 변환된 리스트를 변수에 할당합니다.
- 반복문을 통해 리스트의 요소를 하나씩 순회하며 콘솔에 출력합니다.
이 방식의 장점은 코드가 매우 간결하다는 점입니다. 단 한 줄의 set(my_str_1)-set(my_str_2) 연산만으로 원하는 결과를 얻을 수 있으며, 반복문과 조건문을 복잡하게 작성할 필요가 없습니다.