데이터 처리 작업을 하다 보면 하나의 문자열 뒤에 다른 문자열을 덧붙여야 하는 경우가 종종 발생합니다. 특히 고정된 길이를 맞추기 위해 문자열 끝에 동적인 개수의 0(zero)을 추가해야 할 때가 있는데요. 이번 글에서는 파이썬의 다양한 문자열 함수를 활용해 주어진 문자열에 후행 0을 추가하는 방법을 알아보겠습니다.
1. ljust()와 len() 활용하기
파이썬의 문자열 메서드 ljust()는 지정한 너비(width)만큼 문자열을 왼쪽 정렬하여 반환합니다. 남는 공간은 fillchar로 지정한 문자로 채워지며, 기본값은 공백입니다. 또한 len() 함수는 문자열의 길이를 반환합니다. 이 두 가지를 조합하면 기존 문자열의 길이와 필요한 0의 개수를 더한 길이만큼 후행 0을 손쉽게 채울 수 있습니다.
예제
# 파이썬 문자열에 후행 0 추가하기
# 문자열 초기화
text = 'Jan-'
print("입력 문자열 : " + text)
# 필요한 0의 개수
n = 3
# ljust()를 사용해 후행 0 추가
output = text.ljust(n + len(text), '0')
print("후행 0이 추가된 문자열 : " + output)실행 결과
위 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.
입력 문자열 : Jan- 후행 0이 추가된 문자열 : Jan-000
2. format() 함수 활용하기
format() 메서드는 지정된 값을 형식화하여 문자열 내부의 자리 표시자(placeholder)에 삽입합니다. 자리 표시자는 중괄호 {}로 정의합니다. 아래 예제에서는 길이가 7인 문자열에 format() 메서드를 사용해 두 개의 후행 0을 추가합니다. 여기서 형식 지정자의 의미는 다음과 같습니다. 숫자 9는 전체 자릿수, 0은 채울 문자, <는 왼쪽 정렬(즉, 문자열 뒤를 채움)을 나타냅니다.
예제
text = 'Spring:'
print("\n입력 문자열 : " + text)
# format()으로 후행 0 추가 — 9는 전체 자릿수, '0'은 채울 문자, '<'는 왼쪽 정렬
z = '{:<09}'
output = z.format(text)
print("후행 0이 추가된 문자열 : " + output)실행 결과
위 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.
입력 문자열 : Spring: 후행 0이 추가된 문자열 : Spring:00
마무리
두 방법 모두 간단하고 유용하지만 상황에 따라 적합성이 다릅니다. 필요한 0의 개수를 동적으로 계산해야 한다면 ljust()와 len()의 조합이 직관적이며, 형식 지정 문법에 익숙하다면 format()이나 f-string을 활용하는 것이 코드를 더욱 간결하게 만들어 줍니다. 자신의 작업 환경과 요구 사항에 맞는 방법을 선택해 활용해 보시기 바랍니다.