파이썬의 pprint

0. 파이썬의 pprint란?

pprint 모듈은 임의의 파이썬 데이터 구조를 인터프리터의 입력으로 사용할 수 있는 형태로 '예쁘게 인쇄'할 수 있는 기능을 제공합니다.
글을 작성하는 이유는 특정 데이터 구조의 길이가 pprint의 기준 이상이 되지 않으면 출력이 print() 와 동일하게 됩니다.
이 경우 마치 pprint가 동작하지 않는 것 처럼 보여 왜 동작하지 않나 하여 직접 디버깅을 해보며 기준을 찾아보았고
또한 pprint는 코딩테스트에서 이차원배열이 사용되는경우가 많아 디버깅시 많이 이용하는 모듈이라 이번 기회에 찾아보게 되었습니다.

1. 예시

(예시1)

# 입력
arr1 = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]]

#출력
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]

이쁘게 출력 안해주는 모습

(예시2)

# 입력
arr2 = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16], [17,18,19,20]]

#출력
[[1, 2, 3, 4],
 [5, 6, 7, 8],
 [9, 10, 11, 12],
 [13, 14, 15, 16],
 [17, 18, 19, 20]]

이쁘게 출력 해주는 모습

(예시3)

# 입력
arr3 = [[1,2,3,4,5,6,7,8,9,10],[11,12,13,14,15,16,17,18,19,20]]

# 출력
[[1,2,3,4,5,6,7,8,9,10],[11,12,13,14,15,16,17,18,19,20]]

이쁘게 출력 안해주는 모습

(예시4)

# 입력
arr4 = [[1,2,3,4,5,6,7,8,9,10],[11,12,13,14,15,16,17,18,19,20],[21,22,23,24,25,26,27,28,29,30]]

# 출력
[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
 [11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
 [21, 22, 23, 24, 25, 26, 27, 28, 29, 30]]

이쁘게 출력 해주는 모습

위와 같이 '특정 기준'을 넘어야 이쁘게 출력해줌을 알 수 있습니다.
option으로 해당 기준을 변경할 수 있는 것인지 찾아봤지만 아직찾지못했습니다.
정확한 default 기준이 무엇인지는 찾아봐야 알 것 같습니다.

2. 참고

공식 문서
참고 자료

+ Recent posts