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

Python – 숫자에서 뒤 K자리 추출하는 방법

숫자에서 뒤쪽 K자리를 추출해야 하는 경우, 간단한 리스트 컴프리헨션(list comprehension)과 나머지 연산자(%), 그리고 거듭제곱 연산자(**)를 활용하면 손쉽게 해결할 수 있습니다.

아래에서 실제 동작 예시를 확인해 보겠습니다.

예제 코드

my_list = [51645, 24567, 36743, 89452, 2122]

print("The list is :")
print(my_list)

K = 3
print("The value of K is ")
print(K)

my_result = [element % (10 ** K) for element in my_list]

print("The result is :")
print(my_result)

실행 결과

The list is :
[51645, 24567, 36743, 89452, 2122]
The value of K is
3
The result is :
[645, 567, 743, 452, 122]

코드 설명

  • 먼저 정수로 이루어진 리스트를 정의하고 콘솔에 출력합니다.

  • 추출할 자릿수를 나타내는 K 값을 정의한 뒤 콘솔에 표시합니다.

  • 리스트 컴프리헨션을 사용하여 리스트의 각 요소를 순회하면서, 10을 K제곱한 값(10 ** K)을 계산합니다. K가 3이면 10³ = 1000이 됩니다.

  • 각 요소를 해당 값으로 나눈 나머지(% 연산)를 구하면, 자연스럽게 마지막 K자리만 남게 됩니다. 예를 들어 51645를 1000으로 나눈 나머지는 645입니다.

  • 이렇게 계산된 결과들은 새로운 리스트로 저장되며, 그 리스트가 변수 my_result에 할당됩니다.

  • 마지막으로 결과 리스트를 콘솔에 출력합니다.

핵심 원리

이 방법의 핵심은 수학적 성질에 있습니다. 어떤 정수를 10K로 나눈 나머지는 항상 그 수의 마지막 K자리와 같습니다. 따라서 문자열 변환 없이 순수한 산술 연산만으로 원하는 자릿수를 빠르고 효율적으로 추출할 수 있으며, 대량의 데이터를 처리할 때도 좋은 성능을 보입니다.