반응형
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
Tags
- junit
- input
- junit5
- js
- java테스트
- Array
- CSS
- 단위테스트
- string
- javascript
- vscode
- list
- 스프링부트
- Visual Studio Code
- Eclipse
- 테스트자동화
- 자바
- HashMap
- 자바스크립트
- 문자열
- 정규식
- 배열
- 인텔리제이
- html
- SpringBoot
- ArrayList
- IntelliJ
- Java
- math
- 자바문법
Archives
- Today
- Total
어제 오늘 내일
[Python 기초] "흩어진 데이터를 하나로!" 파이썬 리스트 합치기 4가지 방법 본문
데이터 수집(크롤링)을 하거나 여러 명단을 취합하다 보면 분산된 리스트들을 하나의 큰 리스트로 합쳐야 하는 일이 정말 많습니다. 상황에 따라 가장 효율적인 방법을 선택해 보세요.
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]
📝 상황별 추천 요약
- 단순히 두 리스트를 합칠 때:
list_a + list_b - 기존 리스트를 확장하고 싶을 때:
list_a.extend(list_b) - 3개 이상의 리스트를 우아하게 합칠 때:
[*a, *b, *c] - 엄청난 대용량 데이터를 다룰 때:
itertools.chain()
반응형
'IT > Python' 카테고리의 다른 글
| [Python 기초] "누가 빠졌지?" 리스트 차집합 찾기 및 데이터 대조 (0) | 2026.05.22 |
|---|---|
| [Python 기초] "겹치는 데이터만 골라내자!" 리스트 교집합 찾기 3가지 비법 (0) | 2026.05.22 |
| [Python 기초] "원하는 곳만 골라서 반전!" 리스트 부분 슬라이싱 및 뒤집기 (0) | 2026.05.19 |
| [Python 기초] "거꾸로 줄을 서시오!" 파이썬 리스트 뒤집기 3가지 방법 (0) | 2026.05.18 |
| [Python 기초] "미리 빈 칸을 만들어두자!" 파이썬 리스트 크기 지정과 초기화 (0) | 2026.05.18 |
Comments
