리스트 한 요소당 한줄로 출력하는 방법

리스트 한 요소당 한줄로 출력하는 방법

publish date
Jul 2, 2020
Tags
python
파이썬에서 중첩된 리스트를 print 함수로 출력하는 경우 한줄에 모든 요소들이 표시됩니다.
이런 경우 요소가 많은 리스트의경우 한화면에 잘 보이지 않고,가독성도 좋지 않습니다.
이런 이유로 한줄마다 하나의 요소를 보여주고 싶은 경우가 있는데
이럴경우에는 어떻게 해야하는지 알아보겠습니다.

# for loop

가장 먼저 생각나는 방법일것입니다.
for loop 로 요소를 순회하며 요소를 print 함수로 출력해주면됩니다.
dummy_data = [
    ['1', 'aaa', 444],
    ['2', 'bbb', 333],
    ['3', 'ccc', 222],
    ['4', 'ddd', 111],
]

for x in dummy_data:
    print(x)
['1', 'aaa', 444]
['2', 'bbb', 333]
['3', 'ccc', 222]
['4', 'ddd', 111]
print 함수는 기본적으로 출력후에 개행문자를 추가해줍니다.=> print(x) == print(x, end=’\n’)
for loop 를 이용하는 방법도 좋지만 print 함수에서 제공하는 기능으로 대체 할 수가 있습니다.
바로 sep 옵션인데요. 여러 요소를 출력하는 경우 sep 인자에 원하는 구분자를 주면해당 구분자를 요소들 사이사이에 출력해줍니다. ( 기본적으로는 공백(‘ ‘) )예를들어 아래와같이 여러개의 요소를 출력해보겠습니다.

# print() 함수의 sep 옵션

print('아버지가', '방에', '들어가신다.')
print('아버지가', '방에', '들어가신다.', sep='\n')
아버지가 방에 들어가신다.
아버지가
방에
들어가신다.
결과값에서 볼 수 있듯이 sep 값에 따라 결과가 달라집니다.
이제 리스트의 요소들을 출력해보겠습니다.
print(*dummy_data, sep='\n')
['1', 'aaa', 444]
['2', 'bbb', 333]
['3', 'ccc', 222]
['4', 'ddd', 111]
주의할점은 데이터를 * ( unpacking operator )를 사용해서 unpacking 한 데이터로 전달해야한다는 점이다.( 언팩킹을 하지 않는경우 그냥 전체 요소를 print 한 경우와 동일하다.)
감사합니다. 😄