파이썬에서 연결 연산자(+)는 기존 리스트들을 결합하여 새로운 리스트를 생성합니다. 이때 리스트 요소들은 연결된 순서 그대로 유지됩니다. 중요한 점은 연결 연산자가 원본 리스트를 변경하지 않는(in-place가 아님) 방식이라는 것입니다.
1. 연결 연산자(+) 사용 예제
list1 = [1, 2, 3] list2 = ['a', 'b'] list3 = list1 + list2 print(list3)
출력 결과
[1, 2, 3, 'a', 'b']
위 예제에서 list1과 list2는 그대로 유지되며, 두 리스트가 합쳐진 새로운 객체 list3이 생성됩니다.
2. extend() 함수로 원본 리스트 확장하기
리스트를 연결하는 방법은 여러 가지가 있습니다. 그중 extend() 함수를 사용하면 새로운 리스트를 만들지 않고 기존 리스트 자체를 직접 확장(in-place)할 수 있어 가장 간편합니다.
list1 = [1, 2, 3] list2 = ['a', 'b'] list1.extend(list2) print(list1)
출력 결과
[1, 2, 3, 'a', 'b']
extend()는 반환값 없이 list1 자체를 수정하므로, 메모리 효율 측면에서도 유리합니다.
3. 언패킹 연산자(*) 활용하기
언패킹 연산자(*)를 사용하면 두 개 이상의 리스트를 손쉽게 하나의 새로운 리스트로 합칠 수 있습니다. 다만 이 방법은 Python 3.5 이상에서만 사용 가능합니다.
list1 = [1, 2, 3] list2 = ['a', 'b'] list3 = [*list1, *list2] print(list3)
출력 결과
[1, 2, 3, 'a', 'b']
정리: 세 가지 방법 비교
- + 연산자: 새로운 리스트를 생성하며 원본은 변경되지 않음
- extend(): 원본 리스트를 직접 수정하며 메모리 효율적
- * 언패킹: Python 3.5+에서 사용 가능하며 세 개 이상의 리스트도 한 번에 결합 가능
상황에 따라 적절한 방법을 선택하면 더 깔끔하고 효율적인 파이썬 코드를 작성할 수 있습니다.