반응형
Python 3에서 선행 0으로 문자열을 패딩하는 방법
내가 만들려는 것은length = 001Python 3에서는 출력을 시도할 때마다 선행 0 없이 값을 잘라냅니다(length = 1. 캐스팅을 하지 않고 어떻게 이런 일이 일어나는 것을 막을 수 있을까요?length인쇄하기 전에 줄에?
다음을 활용합니다.zfill()임의의 문자열, 정수 또는 0으로 float하는 도우미 메서드로, Python 2.x와 Python 3.x 모두에 유효합니다.
Python 2는 더 이상 지원되지 않습니다.
샘플 사용량:
print(str(1).zfill(3))
# Expected output: 001
설명:
값에 적용할 때,zfill()초기 문자열 값의 길이가 적용된 너비 값보다 작으면 0이 포함된 왼쪽 화살표 값을 반환합니다. 그렇지 않으면 초기 문자열 값을 그대로 반환합니다.
구문:
str(string).zfill(width)
# Where string represents a string, an integer or a float, and
# width, the desired length to left-pad.
python 3.6부터 fstring을 사용할 수 있습니다.
>>> length = 1
>>> print(f'length = {length:03}')
length = 001
이를 달성하는 방법은 여러 가지가 있지만 Python 3.6+에서 가장 쉬운 방법은 다음과 같습니다.
print(f"{1:03}")
Python 정수에는 고유한 길이나 유효 자릿수가 없습니다.특정 방식으로 인쇄하려면 문자열로 변환해야 합니다.패딩 문자 및 최소 길이와 같은 항목을 지정할 수 있는 몇 가지 방법이 있습니다.
0을 최소 3자로 패딩하려면 다음을 시도합니다.
length = 1
print(format(length, '03'))
저는 이 추악한 방법을 제안하지만 효과가 있습니다.
length = 1
lenghtafterpadding = 3
newlength = '0' * (lenghtafterpadding - len(str(length))) + str(length)
저는 이것보다 더 가벼운 해결책을 찾기 위해 이곳에 왔습니다!
언급URL : https://stackoverflow.com/questions/39402795/how-to-pad-a-string-with-leading-zeros-in-python-3
반응형
'programing' 카테고리의 다른 글
| LINQ를 사용하여 컬렉션의 모든 개체 업데이트 (0) | 2023.05.04 |
|---|---|
| iOS5 SDK의 자동 참조 카운팅에 대한 몇 가지 질문 (0) | 2023.05.04 |
| Mac OS X에서 Python 3용 pip를 설치하는 방법은 무엇입니까? (0) | 2023.05.04 |
| xaml wpf의 텍스트 상자에 포커스 설정 (0) | 2023.05.04 |
| Gitstash에서 추가된 파일을 강제로 덮어씁니다. (0) | 2023.05.04 |