자료구조&알고리즘/알고리즘 - 언어 기초
Python 출력시 앞에 0 채우는 방법
초코쨔응
2024. 2. 2. 16:28
문제를 풀 때마다 매번 까먹고 다시 찾아보는 정해진 자릿수만큼 출력하는 방법
ex) 0003 과 같이 항상 4자리로 출력하고 싶을 때 앞에 0 을 채우는 방법
숫자를 출력하는 경우가 가장 많은데, 숫자는 아래 방법으로 사용하면 된다.
1. 숫자 앞에 0 붙이는 방법
print(f"{1:04d}")
>>> 0001
python 3.6 이상 사용 가능한 f-string 방식으로 이와 같이 간단하게 쓸 수 있다.
f"{출력할숫자:0전체자릿수d}" 순서대로이다.
혹은 이전 버전이라면 아래의 방식을 사용해도 된다.
출력할 숫자가 number 의 자리에 들어가고, '0전체자릿수' 혹은 '{0:0전체자릿수d}' 형식이다.
number = 1
a = format(number, '02')
b = '{0:04d}'.format(number)
print(a)
print(b)
>>> 01
>>> 0001
[코드 출처 본문 하단]
2. 문자열 앞에 0 붙이는 방법
string_number = "1"
a = string_number.zfill(2)
b = string_number.zfill(4)
print(a)
print(b)
>>> 01
>>> 0001
[코드 출처 본문 하단]
zfill 을 문자열 뒤에 쓰면 되고 원하는 전체자릿수를 괄호 안에 적으면 된다.
예를 들어, python 에서 binary 값을 출력하고자 하면 문자열처럼 취급되기 때문에 format 대신 zfill 을 사용하는 것이 용이할 것이다.
print(bin(3)[2:].zfill(4))
>>> 0011
숫자 3을 bin으로 변환하면 0b11 이 된다. (그래서 앞에 0b를 빼기 위해 [2:] 로 잘라주었다.
총 자릿수를 4자리로 출력하기 위하여 .zfill(4) 를 붙여주었다.
혹은 rjust 방법도 있다. 0 외에 다른 값으로 채울 때 사용한다고 한다.
string_number = "1"
a = string_number.rjust(2, "a")
b = string_number.rjust(4, "b")
print(a)
print(b)
>>> a1
>>> bbb1
[코드 출처 본문 하단]
[참고 자료]
https://alphahackerhan.tistory.com/55