데이터

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

Leah (리아) 2025. 12. 2. 22:04
반응형

Chapter 01. 자료구조

 

파이썬 리스트 다루기 총정리

1. 주요 개념 요약

enumerate() 함수

  • 리스트 반복문에서 인덱스+값을 동시에 가져오는 함수
  • for idx, val in enumerate(list): 형식
  • 인덱스를 직접 증가시키는 코드보다 훨씬 깔끔하고 오류가 적음

리스트에 아이템 추가(append)

  • append() → 마지막 위치에 새로운 아이템 추가
  • 리스트 크기가 동적으로 증가함
  • 여러 타입을 모두 담을 수 있음

리스트 특정 위치에 아이템 추가(insert)

  • insert(index, item) → 원하는 index 위치에 삽입
  • 해당 위치 뒤의 요소들은 뒤로 밀림
  • 리스트 순서를 유지할 때 필수 기능

리스트 아이템 삭제(pop)

  • pop() → 마지막 아이템 삭제
  • pop(n) → n번째 인덱스 삭제
  • 삭제된 값을 return받을 수 있어 이후 로직에 활용 가능

예시(파일 기준):

  • 체조 선수 점수에서 최고점·최저점을 삭제하는 실습 포함

2. 코드 예시 정리

enumerate()

members = ["민수", "영희", "철수"]

for idx, name in enumerate(members):
    print(idx, name)

 

출력:

0 민수
1 영희
2 철수

append() – 리스트에 아이템 추가

 
students = ["홍길동", "박찬호"]
students.append("강호동")
print(students)

 

결과:

 
['홍길동', '박찬호', '강호동']

insert() – 원하는 위치에 아이템 추가

 
students = ["홍길동", "박찬호", "이용규"]
students.insert(1, "김지은")
print(students)

 

결과:

['홍길동', '김지은', '박찬호', '이용규']

pop() – 삭제

마지막 아이템 삭제

 
players = ["홍길동", "박찬호", "이용규", "박승철", "김지은", "강호동"]
removed = players.pop()
print(removed)  # 삭제된 아이템
print(players)

특정 위치 삭제

 
players = ["홍길동", "박찬호", "이용규", "박승철", "김지은", "강호동"]
removed = players.pop(3)  # 인덱스 3 삭제
print(removed)
print(players)

실습 예시: 체조 점수 최고·최저점 삭제하기

scores = [9.8, 8.5, 7.3, 9.1, 6.4]

scores.remove(max(scores))  # 최고점 삭제
scores.remove(min(scores))  # 최저점 삭제

print(scores)

 

 

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


 

💡 생각 정리

파이썬 리스트는 데이터를 다루는 기본적인 자료구조이지만, 상황에 따라 적절한 추가/삭제 방식이 필요하다는 점이 중요하다. append, insert, pop은 단순해 보이지만 실제 프로젝트나 데이터 전처리에서 매우 자주 사용되기 때문에 확실하게 익혀두어야 한다. 특히 enumerate는 기존보다 훨씬 깔끔한 반복문을 작성할 수 있게 해주어 실무 가독성에도 큰 도움이 된다.
삭제(pop)는 삭제된 값을 반환해 이후 로직으로 연결할 수 있다는 점에서 단순한 제거 기능을 넘어 응용이 가능하다는 것도 다시 확인할 수 있었다.


🚀 적용점

 

  • 데이터 전처리 시 특정 열에서 최대/최소 제거, 필요 없는 값 제거 등에 적용
  • UI/UX 개발에서 리스트 기반 메뉴, 최근 기록 관리 등에 활용
  • 웹 크롤링한 값 중 원하지 않는 데이터 전처리 시 pop·insert 자주 사용됨
  • enumerate는 반복문에서 인덱스를 관리하지 않아도 되어 버그를 크게 줄여줌
  • 다양한 알고리즘 문제에서도 리스트 조작은 핵심이므로 기본기 강화 필수

 

반응형