어제 오늘 내일

[Python 기초] "흩어진 데이터를 하나로!" 파이썬 리스트 합치기 4가지 방법 본문

IT/Python

[Python 기초] "흩어진 데이터를 하나로!" 파이썬 리스트 합치기 4가지 방법

hi.anna 2026. 5. 21. 07:04

 
데이터 수집(크롤링)을 하거나 여러 명단을 취합하다 보면 분산된 리스트들을 하나의 큰 리스트로 합쳐야 하는 일이 정말 많습니다. 상황에 따라 가장 효율적인 방법을 선택해 보세요.


1. 가장 직관적인 방법: 더하기() 연산자

두 리스트를 마치 숫자를 더하듯 + 기호로 연결하는 방법입니다. 코드가 가장 읽기 쉽고, 합쳐진 새로운 리스트를 만들어냅니다.

📌 예제 코드: 리스트 연결

list_a = [1, 2, 3]
list_b = [4, 5, 6]

# 두 리스트를 합쳐 새로운 리스트 생성
combined = list_a + list_b

print(combined) 
# 출력: [1, 2, 3, 4, 5, 6]

2. 원본에 그대로 덧붙이기:  메소드

기존에 있던 리스트 뒤에 다른 리스트의 내용물만 쏙 뽑아서 추가하고 싶을 때 사용합니다. 새로운 리스트를 만들지 않고 원본 리스트를 수정하기 때문에 메모리 관면에서 더 효율적일 수 있습니다.

📌 예제 코드: 원본 확장

fruits = ["사과", "바나나"]
new_fruits = ["포도", "딸기"]

# fruits 리스트 뒤에 그대로 이어 붙입니다.
fruits.extend(new_fruits)

print(fruits)
# 출력: ['사과', '바나나', '포도', '딸기']

3. 고수들의 세련된 방식: 언패킹() 연산자

파이썬 3.5 버전부터 도입된 강력한 기능입니다. 리스트 앞에 별표(*)를 붙여 내용물을 '해체'한 뒤 새로운 리스트 안에 담는 방식입니다. 여러 개의 리스트를 한꺼번에 합칠 때 가장 깔끔합니다.

📌 예제 코드: 리스트 언패킹

a = [1, 2]
b = [3, 4]
c = [5, 6]

# 여러 리스트를 자유롭게 배치하여 합칠 수 있습니다.
all_in_one = [*a, *b, *c, 7, 8]

print(all_in_one)
# 출력: [1, 2, 3, 4, 5, 6, 7, 8]

4. 대용량 데이터 처리에 유리한:

만약 합쳐야 할 리스트가 수만 개이고, 데이터 양이 엄청나게 많다면 실제로 리스트를 합치는 대신 "하나의 리스트처럼 보이게 연결"해주는 방식이 좋습니다. 메모리를 절약할 수 있는 고급 기술입니다.

📌 예제 코드: 체인 연결

import itertools

list1 = [1, 2]
list2 = [3, 4]
list3 = [5, 6]

# 실제로 합치지 않고 연결된 '상태'만 만듭니다 (메모리 절약)
combined_iter = itertools.chain(list1, list2, list3)

# 사용할 때 리스트로 변환하거나 반복문에서 씁니다.
print(list(combined_iter))
# 출력: [1, 2, 3, 4, 5, 6]

📝 상황별 추천 요약

  1. 단순히 두 리스트를 합칠 때: list_a + list_b
  2. 기존 리스트를 확장하고 싶을 때: list_a.extend(list_b)
  3. 3개 이상의 리스트를 우아하게 합칠 때: [*a, *b, *c]
  4. 엄청난 대용량 데이터를 다룰 때: itertools.chain()

 

반응형
Comments