두 문자열에서 서로 겹치는 문자를 확인하고 싶다면 파이썬의 set(집합) 자료형을 활용하는 것이 가장 간단하고 효율적인 방법입니다.
파이썬은 중복되지 않는 고유한 요소만 저장하는 'set'이라는 내장 자료형을 제공합니다. 집합은 교집합(intersection), 차집합(difference), 합집합(union), 대칭차집합(symmetric difference) 같은 집합 연산을 수행할 때 특히 유용합니다.
이번 글에서는 두 문자열에 포함된 모든 문자를 합집합 연산으로 구해 출력하는 예제를 살펴보겠습니다.
예제 코드
string_1 = 'hey'
string_2 = 'jane'
print("첫 번째 문자열 :")
print(string_1)
print("두 번째 문자열 :")
print(string_2)
my_result = list(set(string_1) | set(string_2))
print("포함된 문자들 :")
for i in my_result:
print(i)실행 결과
첫 번째 문자열 : hey 두 번째 문자열 : jane 포함된 문자들 : a y j h e n
코드 설명
- 두 개의 문자열 'hey'와 'jane'을 정의하고, 콘솔에 출력합니다.
- 각 문자열에 set() 함수를 적용해 집합으로 변환한 뒤, 합집합 연산자 '|'를 사용해 두 집합을 하나로 병합합니다.
- 연산 결과는 리스트로 변환하여 변수에 저장하고, for 반복문을 통해 한 글자씩 콘솔에 출력합니다.
합집합 연산 덕분에 두 문자열 중 어느 한쪽이라도 등장하는 모든 문자가 결과에 포함됩니다. 만약 양쪽 문자열에 공통으로 존재하는 문자만 구하고 싶다면, '|' 연산자 대신 교집합 연산자 '&'를 사용하면 됩니다.