Python 문자열 숫자 왼쪽 가운데 오른쪽 줄맞춤 정렬

문자열을 왼쪽 정렬, 가운데 정렬, 오른쪽 정렬 줄맞춤을 하고 싶은 경우 메서드를 사용해서 할 수 있습니다.

숫자를 정렬 하고 싶은 경우에는 문자열로 변환후 메서드를 사용하면 됩니다.

 ▶ 왼쪽 줄맞춤 : ljust()

 ▶ 가운데 줄맞춤 : center()

 ▶ 오른쪽 줄맞춤 : rjust()

  

왼쪽 줄맞춤 

문자열을 왼쪽으로 정렬 하고 싶은 경우는 ljust() 메서드를 사용합니다.

str = 'abc'

print(str.ljust(8))
# abc     

print(str.ljust(8, '+'))
# abc+++++

 

첫 번째 인수는 문자수를 지정합니다.

두 번째 인수는 지정하지 않으면 공백을 채웁니다.

예제 처럼 두 번째 인수를 지정하면은, 지정한 문자로 나머지 공백을 채워줍니다.

만약 지정한 문자수가 대상 문자열보다 작은 경우에는 아무런 변화가 없습니다.

print(str.ljust(2))
# abc

 

두 번째 인수에 2글자 이상 지정하면 에러가 발생합니다.

print(s.rjust(8, 'lmn'))
# TypeError: The fill character must be exactly one character long

  

가운데 줄맞춤 

문자열을 가운데 정렬 하고 싶은 경우는 center() 메서드를 사용합니다.

str = 'abc'

print(str.center(8))
#   abc   

print(str.center(8, '+'))
# ++abc+++

print(str.center(9, '+'))
# +++abc+++

print(str.center(10, '+'))
# +++abc++++

  

오른쪽 줄맞춤 

문자열을 오른쪽으로 정렬할때는 rjust() 메서드를 사용합니다.

str = 'abc'

print(str.rjust(8))
#      abc

 

오른쪽 정렬도 마찬가지로 두 번째 인수를 지정하지 않으면 모자란 자리수 만큼 공백으로 채웁니다.

오른쪽 정렬을 하면서 0을 채워주는 메서드로 zfill() 이 있습니다.

rjust() 와 zfill() 메서드 차이점은 + – 기호를 포함해서 인식하는지 차이가 있습니다.

rjust() 와 zfill() 차이

str = '-123'

print(str.rjust(8, '0'))
# 0000-123

print(str.zfill(8))
# -0000123

 

rjust() 를 사용하면 기호 앞에 0이 붙습니다.

0을 채우는 zfill()는 기호가 맨 앞으로 오게 됩니다.

금액 표시같은 경우에는 zfill()를 사용하지만 우편번호나 전화번호등 문자열 그대로 사용하고 싶은 경우에는 rjust()를 사용하는 것이 좋습니다.

댓글