Python에서 두 목록을 병합하는 방법(연결 및 확장)
Python에서 두 목록을 병합하고 결합하는 가장 좋은 방법을 알아보세요. 플러스 연산자, 확장 메소드, 목록 풀기 및 체인 옵션을 비교하십시오.
개요
목록 데이터 세트를 결합하는 작업은 결과를 집계하거나, 데이터 배치를 처리하거나, 컬렉션에 항목을 추가할 때 자주 수행되는 작업입니다. Python은 목록을 내부에서 수정할 것인지 아니면 새 목록을 만들 것인지에 따라 목록을 병합하는 여러 가지 방법을 제공합니다.
두 개의 기존 목록을 결합하여 새로운 목록을 만들려면 가장 간단한 방법은 연결 연산자 `+`(예: `list3 = list1 + list2`)를 사용하는 것입니다. 또는Python 3.5+에서 목록 압축 풀기 구문 `[*list1, *list2]`를 사용할 수 있습니다. 이는 표현력이 뛰어나고 목록 생성 중 어디에나 추가 요소를 쉽게 삽입할 수 있게 해줍니다.
다른 목록의 요소를 추가하여 기존 목록을 수정하려는 경우 '.extend()' 메서드가 가장 효율적인 선택입니다. 이렇게 하면 새 목록에 메모리를 할당하는 것을 방지하고 대상 목록을 직접 수정합니다. 메모리에 데이터를 복제하지 않고 병합된 목록을 메모리 효율적으로 탐색하려면 `itertools.chain()`을 사용할 수 있습니다.
코드 및 실행 출력
이 스크립트는 연산자, 확장 및 압축 풀기 기술을 사용하여 두 목록을 병합하는 방법을 보여줍니다.
list_a = [1, 2, 3]
list_b = [4, 5, 6]
# 1. Plus operator (creates a new list)
merged_plus = list_a + list_b
print("Using + operator:", merged_plus)
# 2. Unpacking operator (creates a new list)
merged_unpack = [*list_a, *list_b]
print("Using unpacking:", merged_unpack)
# 3. Extend method (modifies list_a in-place)
list_a.extend(list_b)
print("After extending list_a:", list_a)Using + operator: [1, 2, 3, 4, 5, 6]
Using unpacking: [1, 2, 3, 4, 5, 6]
After extending list_a: [1, 2, 3, 4, 5, 6]단계별 구현
- + 연산자를 사용하여 목록을 병합하고 새로운 결합된 목록을 반환합니다.
- list_a.extend(list_b)를 호출하여 list_b의 모든 요소를 list_a에 직접 추가합니다.
- 별표 풀기 연산자 [*list_a, *list_b]를 사용하여 두 요소 모두에서 목록을 구성합니다.
자주 묻는 질문
추가()와 확장()의 차이점은 무엇입니까?
Append()는 전체 목록 인수를 단일 중첩 요소로 추가하는 반면, Extension()은 목록 인수의 압축을 풀고 각 요소를 개별적으로 추가합니다.
중복 항목을 제거하면서 목록을 병합하려면 어떻게 해야 하나요?
이들을 병합한 다음 결과를 세트로 변환하거나 먼저 세트로 변환할 수 있습니다: list(set(list_a) | set(list_b)).
관련 주제
권장 Python 리소스
관련 대화형 튜토리얼, 치트 시트, 코드 비교를 통해 지식을 확장하세요.
Python 목록
Python 목록에 대한 모든 것을 알아보세요. Python에서 배열을 기본적으로 생성, 분할, 수정 및 반복하는 방법을 알아보세요.
Python 문자열 메서드 치트 시트
Python 문자열 조작에 대한 완전한 참조 가이드입니다. 문자열 속성의 서식 지정, 검색, 분할, 바꾸기 및 확인을 마스터합니다.
Python 대 JavaScript: 어떤 프로그래밍 언어가 가장 좋나요?
Python과 JavaScript를 포괄적으로 비교합니다. 구문 차이점, 성능, 사용 사례(백엔드와 프런트엔드) 및 코딩 예제를 살펴보세요.