min8282

[Python] 파이썬 리스트 출력 방식 정리 본문

Dev/BOJ

[Python] 파이썬 리스트 출력 방식 정리

min8282 2025. 2. 5. 01:20

코딩 테스트 언어로 파이썬을 선택했다. 하지만 오랜만에 다시 사용하다 보니 헷갈리는 부분이 많았다.

 

특히 리스트를 활용한 출력 방식이 자주 등장하는데, 문제를 풀 때마다 헷갈리는 경우가 많아 정리해두면 좋겠다고 생각했다. 이번 글에서는 파이썬 리스트 출력 방식을 깔끔하게 정리해보려고 한다.


1. for문을 이용한 출력

가장 기본적인 출력 방식이다.

list_ex = [1, 2, 3, 4, 5]
for i in list_ex:
    print(i, end=' ')

파이썬의 print()에는 두 가지 중요한 옵션이 있다.

  • sep : 출력문 사이에 해당하는 내용을 넣을 수 있다. 기본값은 공백 (' ')
  • end : 출력이 끝난 후 붙일 내용을 지정할 수 있다. 기본값은 개행 ('\n')

end=' '를 이용하면 리스트 요소를 공백으로 구분하여 출력할 수 있다. 하지만 만약 ,로 구분하고 싶다면 다음과 같이 하면 문제가 발생한다.

for i in list_ex:
    print(i, end=', ')

 

출력 결과:

1, 2, 3, 4, 5,

마지막 요소 뒤에도 ,가 붙어버리는 문제가 발생한다.


2. join()을 이용한 출력

join()은 리스트의 요소를 특정 구분자로 연결하여 하나의 문자열로 변환하는 내장 메서드이다.

print(' '.join(map(str, list_ex)))

출력 결과:

1 2 3 4 5

join()문자열 리스트에서만 사용 가능하므로, 숫자가 포함된 리스트라면 map(str, list_ex)로 변환해 주어야 한다. end 옵션을 사용할 때와는 다르게, join()을 사용하면 마지막 요소 뒤에 구분자가 추가되지 않는 장점이 있다.


3. *args를 이용한 출력

파이썬에서는 *args를 활용하여 리스트의 요소를 개별 인자로 전달할 수 있다.

print(*list_ex)

출력 결과:

1 2 3 4 5

sep 옵션을 함께 사용하면 구분자를 설정할 수 있다.

print(*list_ex, sep=', ')

출력 결과:

1, 2, 3, 4, 5

*args 방식은 코드가 간결하며 join()을 사용할 때처럼 map(str, list_ex) 변환이 필요하지 않아 유용하다.


4. str()을 이용한 출력

리스트를 문자열로 변환한 후 슬라이싱을 이용하는 방법이다.

print(str(list_ex)[1:-1])

출력 결과:

1, 2, 3, 4, 5

하지만 이 방법에는 단점이 있다. 리스트에 문자열이 포함되어 있다면 따옴표(' ')까지 그대로 출력된다.

list_ex = ['apple', 'banana', 'cherry']
print(str(list_ex)[1:-1])

출력 결과:

'apple', 'banana', 'cherry'

이처럼 문자열 리스트에는 적합하지 않은 방법이므로 주의해야 한다.


정리

방법 장점 단점
for + end 간단하고 직관적 마지막 요소 뒤에도 구분자가 붙을 수 있음
join() 마지막 요소 뒤에 구분자가 붙지 않음 숫자 리스트는 map(str, list_ex) 변환 필요
*args 간결하고 직관적, sep 지정 가능 없음 (가장 추천)
str() + 슬라이싱 간단한 방법 문자열 리스트에서는 따옴표까지 출력됨

가장 추천하는 방법은 *args 방식으로 print(*list_ex, sep=', ')을 사용하면 가독성이 좋고 편리하다. 하지만 상황에 따라 join()도 유용하게 활용할 수 있다.

이제 리스트 출력 방식에서 헷갈리지 말고, 상황에 맞는 방법을 선택하여 활용해 보자! 

'Dev > BOJ' 카테고리의 다른 글

[BOJ]1929 - 소수 구하기  (0) 2025.02.05