반응형
내가 만든 명령 줄 관리 도구와 함께 사용하기 위해 Python에서 멋진 열 목록을 만들려고합니다.
기본적으로 다음과 같은 목록이 필요합니다.
[['a', 'b', 'c'], ['aaaaaaaaaa', 'b', 'c'], ['a', 'bbbbbbbbbb', 'c']]
변화하다:
a b c
aaaaaaaaaa b c
a bbbbbbbbbb c
일반 탭을 사용하는 것은 각 행에서 가장 긴 데이터를 모르기 때문에 여기서 트릭을 수행하지 않습니다.
이것은 Linux의 'column -t'와 동일한 동작입니다.
$ echo -e "a b c\naaaaaaaaaa b c\na bbbbbbbbbb c"
a b c
aaaaaaaaaa b c
a bbbbbbbbbb c
$ echo -e "a b c\naaaaaaaaaa b c\na bbbbbbbbbb c" | column -t
a b c
aaaaaaaaaa b c
a bbbbbbbbbb c
이 작업을 수행하기 위해 다양한 파이썬 라이브러리를 둘러 보았지만 유용한 것을 찾을 수 없습니다.
해결 방법
data = [['a', 'b', 'c'], ['aaaaaaaaaa', 'b', 'c'], ['a', 'bbbbbbbbbb', 'c']]
col_width = max(len(word) for row in data for word in row) + 2 # padding
for row in data:
print "".join(word.ljust(col_width) for word in row)
a b c
aaaaaaaaaa b c
a bbbbbbbbbb c
이것이하는 일은 가장 긴 데이터 항목을 계산하여 열 너비를 결정한 다음 .ljust ()
를 사용하여 각 열을 인쇄 할 때 필요한 패딩을 추가하는 것입니다.
참조 페이지 https://stackoverflow.com/questions/9989334
반응형
'파이썬' 카테고리의 다른 글
파이썬 목록 이해 조건의`elif` (0) | 2020.09.15 |
---|---|
파이썬에서 날짜가 유효한지 확인하는 방법은 무엇입니까? (0) | 2020.09.15 |
파이썬 변경 불가능한 사전, 다른 사전의 키로 만 사용 (0) | 2020.09.15 |
파이썬 반복 된 정사각형 큐브 및 짝수 / 홀수 (0) | 2020.09.14 |
파이썬 pycharm에 스크래피 설치 (0) | 2020.09.14 |
댓글