파이썬에서는 콤마(,)로 구분된 두 개의 정수가 담긴 문자열을 complex() 함수를 활용해 손쉽게 복소수로 변환할 수 있습니다. 이 과정은 크게 세 단계로 나눌 수 있으며, 각 단계별로 자세히 살펴보겠습니다.
1단계: 문자열 분리하기
먼저 문자열에 담긴 두 개의 정수가 콤마로 구분되어 있다면, split() 메서드를 사용해 이를 리스트로 나눕니다. 이때 결과 리스트에는 숫자 형태의 문자열 두 개가 담기게 됩니다.
>>> s = "1,2".split(",")
>>> s
['1', '2']
split(",")는 콤마를 기준으로 문자열을 잘라내어 ['1', '2']라는 리스트를 반환합니다. 주의할 점은 이 시점에서 요소들이 아직 문자열이라는 것입니다.
2단계: 문자열을 정수로 변환하기
다음으로 리스트의 각 항목을 int() 함수를 사용해 정수형으로 변환합니다. 복소수의 실수부와 허수부는 반드시 숫자 타입이어야 하기 때문에 이 변환 과정이 필수적입니다.
>>> int(s[0]) 1 >>> int(s[1]) 2
3단계: complex() 함수로 복소수 생성하기
마지막으로 변환된 두 정수를 complex() 함수의 인자로 전달합니다. 첫 번째 인자는 실수부(real part), 두 번째 인자는 허수부(imaginary part)가 됩니다.
>>> complex(int(s[0]), int(s[1])) (1+2j)
한 줄로 처리하기
위 과정을 한 줄의 코드로도 처리할 수 있습니다. 언패킹(unpacking)을 활용하면 더욱 간결하게 작성할 수 있습니다.
>>> a, b = map(int, "1,2".split(","))
>>> complex(a, b)
(1+2j)
map(int, ...)를 사용하면 분리된 문자열들을 한 번에 정수로 변환할 수 있어 코드가 더 깔끔해집니다.
정리
이처럼 콤마로 구분된 정수 문자열은 split()으로 분리하고, int()로 변환한 뒤, complex()에 전달하는 순서만 거치면 복소수로 완벽하게 변환됩니다. 실무에서는 CSV 형식의 데이터나 사용자 입력값을 다룰 때 이 패턴이 자주 유용하게 활용됩니다.