Print참고 링크: Python print() 함수 완벽 가이드: 기본 출력부터 f-string, sep·end 옵션, 파일 저장까지 한 번에 정리 : 네이버 블로그
F-string: print(f”#{test_case} {answer}”)
f 하나 붙여주면 중괄호 안에는 float / int, 따옴표 안에는 str 소수점 표현도 가능: ex) .2f → 소수점 2자리(Float)까지만 보여줘! print(f”파이는 {pi:.2f}입니다.“)
파이썬 문법에서 **end=**라는 키워드는 오직 print() 함수 안에서만 사용할 수 있는 특별한 약속이기 때문입니다. 리스트([])를 만들 때는 이 단어를 사용할 수 없어요.
에러가 난 구체적인 이유와 해결 방법을 나누어 설명해 드릴게요.
❌ 왜 틀렸을까요?
-
end는 출력용 옵션입니다:end=","는 “출력을 한 뒤에 줄바꿈 대신 쉼표를 찍어줘”라는 뜻으로,print()함수에게 내리는 명령입니다. -
리스트
[]의 규칙: 리스트 안에는 **‘값’**만 들어갈 수 있습니다.[값1, 값2, 값3]처럼요. 리스트 안에end=","라고 쓰는 것은 파이썬 입장에서는 “리스트에 ‘end’라는 이름의 변수를 넣으려는 건가? 근데 왜 갑자기=이 나오지?”라고 당황하게 만드는 문장입니다.
✅ 어떻게 바꾸고 싶으신가요?
사용자의 의도에 따라 두 가지 해결책이 있습니다.
1. 리스트의 내용을 쉼표를 찍어가며 출력하고 싶을 때
리스트를 만드는 게 목적이 아니라, 화면에 “1, 2, 3,” 이런 식으로 보여주고 싶다면 print 함수 안으로 end를 옮겨야 합니다.
Python
# 잘못된 예: temp_list = [list_a[j], end=","] (X)
# 올바른 예 (반복문 안에서 출력할 때)
for j in range(len(list_a)):
print(list_a[j], end=", ")
2. 리스트에 값을 추가하고 싶을 때
단순히 특정 값을 리스트에 담고 싶다면 end를 지우고 값만 넣으세요.
Python
# j번째 요소를 새 리스트에 담고 싶다면
temp_list = [list_a[j]]
- List의 내용 한 줄로 출력
[python] 리스트 내용 출력하기 (list print) — Maybe seondays 그냥 for문하고 end 문자 쓰기 삼성에서는 케이스 번호도 써야하니까 for문 대신 .join String
print 함수의 인자로 분리하기 (가장 추천)
f-string으로는 케이스 번호만 출력하고, 리스트는 print 함수의 기능을 이용해 언패킹하는 방식입니다. 코딩 테스트에서 가장 많이 쓰이는 방식이에요.
Python
# 결과: #1 1 2 3 4 5
print(f'#{test_case}', *sorted_list)
split()