Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python에서 숫자를 자릿수 정수 리스트로 변환하는 방법

Python에서 데이터를 다루다 보면 하나의 숫자를 각 자릿수로 분리하여 정수 리스트로 변환해야 하는 경우가 종종 있습니다. 예를 들어 1342라는 숫자를 [1, 3, 4, 2]와 같은 리스트로 바꾸는 작업입니다. 이 글에서는 이러한 변환을 수행하는 대표적인 두 가지 방법을 살펴보겠습니다.

방법 1: 리스트 컴프리헨션(List Comprehension) 사용

가장 직관적인 방법은 리스트 컴프리헨션을 활용하는 것입니다. 먼저 str() 함수로 숫자를 문자열로 변환하면 각 자릿수에 개별적으로 접근할 수 있고, 이후 int() 함수를 적용해 다시 정수로 변환한 뒤 리스트로 감싸면 됩니다.

예제 코드

numA = 1342
# 주어진 숫자
print("주어진 숫자 : \n", numA)
res = [int(x) for x in str(numA)]
# 결과 출력
print("숫자 리스트 : \n", res)

실행 결과

위 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

주어진 숫자 :
1342
숫자 리스트 :
[1, 3, 4, 2]

방법 2: map()과 str() 함수 조합 사용

두 번째 방법은 map() 함수를 이용하는 것입니다. str() 함수로 숫자를 문자열로 만든 후, map(int, ...)를 통해 문자열의 각 문자에 int 변환을 일괄 적용하고, 마지막으로 list() 함수로 결과를 리스트화합니다. 코드가 더 간결해지는 장점이 있습니다.

예제 코드

numA = 1342
# 주어진 숫자
print("주어진 숫자 : \n", numA)
res = list(map(int, str(numA)))
# 결과 출력
print("숫자 리스트 : \n", res)

실행 결과

위 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

주어진 숫자 :
1342
숫자 리스트 :
[1, 3, 4, 2]

정리

두 방법 모두 동일한 결과를 반환하지만 상황에 따라 선택 기준이 달라질 수 있습니다. 리스트 컴프리헨션은 변환 과정에 추가 로직(예: 필터링, 조건 처리)을 넣기에 유연하고, map() 방식은 코드가 짧아 가독성이 좋습니다. 음수를 다룰 경우에는 부호를 제거한 뒤 변환해야 하므로 abs() 함수를 함께 사용하는 점도 참고하시기 바랍니다.