어제 오늘 내일

[Python 기초] "리스트를 하나의 글로!" 파이썬 리스트 문자열 변환 본문

IT/Python

[Python 기초] "리스트를 하나의 글로!" 파이썬 리스트 문자열 변환

hi.anna 2026. 5. 25. 23:02

['Hello', 'World']라는 리스트를 "Hello World"라는 문자열로 바꾸고 싶을 때, 초보자들은 흔히 for문을 돌리며 글자를 더하곤 합니다. 하지만 파이썬에는 이를 위한 전용 마법인 join()이 있습니다.


1. 가장 정석적인 방법:

join() 함수는 앞에 붙는 '구분자'를 기준으로 리스트의 요소들을 찰떡처럼 이어 붙여줍니다.

📌 예제 코드: 공백이나 쉼표로 합치기

words = ["Apple", "Banana", "Orange"]

# 1. 공백(" ")으로 합치기
result1 = " ".join(words)
print(result1)  # 출력: Apple Banana Orange

# 2. 쉼표(",")로 합치기
result2 = ",".join(words)
print(result2)  # 출력: Apple,Banana,Orange

# 3. 아무 구분 없이 붙이기
result3 = "".join(words)
print(result3)  # 출력: AppleBananaOrange

2. 리스트에 숫자가 섞여 있을 때 (TypeError 해결법)

join() 함수는 리스트 안의 모든 데이터가 '문자열'일 때만 작동합니다. 숫자가 하나라도 섞여 있으면 에러가 발생하죠. 이때는 우리가 배웠던 리스트 컴프리헨션이나 map()을 섞어 쓰면 해결됩니다.

📌 예제 코드: 숫자 리스트를 문자열로 합치기

nums = [1, 2, 3, 4, 5]

# 오류 발생: "".join(nums) -> TypeError

# 해결법: 모든 요소를 str()로 먼저 변환한 뒤 합칩니다.
# 1) 리스트 컴프리헨션 방식
result = "-".join([str(n) for n in nums])

# 2) map 함수 방식 (더 세련된 방식!)
result_map = "-".join(map(str, nums))

print(result) # 출력: 1-2-3-4-5

3. 실전 응용: 2차원 리스트를 문자열로 변환하기

여러 줄로 된 데이터(2차원 리스트)를 줄바꿈(\n)을 넣어 하나의 텍스트로 만들 때 유용합니다.

📌 예제 코드: 2차원 리스트 ➔ 텍스트 파일 형식

data = [
    ["이름", "나이"],
    ["철수", "20"],
    ["영희", "22"]
]

# 각 행을 탭("\t")으로 합치고, 행끼리는 줄바꿈("\n")으로 합칩니다.
lines = ["\t".join(row) for row in data]
final_text = "\n".join(lines)

print(final_text)
# 출력:
# 이름    나이
# 철수    20
# 영희    22

📝 핵심 요약

  1. "".join(list): 리스트의 문자열들을 하나로 매끄럽게 잇는다.
  2. " ".join(list): 단어 사이에 공백을 넣어 문장을 만든다.
  3. 숫자가 있다면: 반드시 map(str, list)를 사용해 문자로 먼저 바꾼다.

리스트를 문자열로 변환하는 법을 익히셨으니 이제 데이터를 출력하거나 파일로 저장하는 작업이 훨씬 쉬워질 거예요!
 

반응형
Comments