데이터

제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -07

Leah (리아) 2025. 12. 3. 22:08
반응형

Chapter 01. 자료구조

 

리스트 연결(extend, +) 완전 정리

주요 개념 요약

리스트에 또 다른 리스트를 붙이는 방법은 크게 두 가지가 있다.

1) extend()

  • 기존 리스트를 확장하는 방식
  • 리스트 뒤에 다른 리스트의 요소를 하나씩 이어 붙임
  • 원본 리스트가 직접 변경됨(in-place)

2) + 덧셈 연산자

  • 리스트와 리스트를 새로운 리스트로 합치는 방식
  • 기존 리스트는 변하지 않고, 새 리스트가 생성됨

코드 예시

extend() 사용 예시

myFavoriteNumbers = [1, 3, 5, 6, 7]
friendFavoriteNumbers = [2, 3, 5, 8, 10]

myFavoriteNumbers.extend(friendFavoriteNumbers)

print(myFavoriteNumbers)
# [1, 3, 5, 6, 7, 2, 3, 5, 8, 10]

+ 연산자 사용 예시

myFavoriteNumbers = [1, 3, 5, 6, 7]
friendFavoriteNumbers = [2, 3, 5, 8, 10]

addList = myFavoriteNumbers + friendFavoriteNumbers

print(addList)
# [1, 3, 5, 6, 7, 2, 3, 5, 8, 10]

두 리스트를 합치되 중복 제거하기

myFavoriteNumbers = [1, 3, 5, 6, 7]
friendFavoriteNumbers = [2, 3, 5, 8, 10]

addList = myFavoriteNumbers + friendFavoriteNumbers

result = []
for number in addList:
    if number not in result:
        result.append(number)

print(result)
# [1, 3, 5, 6, 7, 2, 8, 10]

 

 

* 이 글은 제로베이스 데이터사이언스 파트타임 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.


 

💡 생각 정리

리스트 연결은 단순히 리스트를 합치는 것을 넘어서, 데이터를 어떻게 다룰지 설계하는 과정과 연결된다.
extend()는 원본 리스트를 직접 수정하므로 의도하지 않은 변경을 발생시킬 수 있고, +는 새 리스트를 만들기 때문에 메모리 사용량이 늘어날 수 있다.

또한 두 리스트를 합친 후 중복 제거 로직을 구현해보면, 파이썬의 리스트 순회, 조건문, 데이터 정제 과정을 자연스럽게 이해할 수 있다. 결국 자료구조를 다루고 목적에 맞게 데이터를 변형하는 능력이 중요한 포인트다.


🚀 적용점

 

  • 서로 다른 데이터 소스를 합쳐 하나의 리스트로 정리할 때 활용
  • 웹 크롤링 결과를 수집한 뒤 리스트 확장할 때 유용
  • 중복 제거 로직은 이후 집합(set), 리스트 컴프리헨션 활용 등 파이썬 최적화 학습으로 확장 가능
  • 프로젝트에서 유저 취향 목록, 상품 태그 리스트, 분류 데이터 병합 등에도 바로 적용 가능

 

반응형