반응형
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는 반복문에서 인덱스를 관리하지 않아도 되어 버그를 크게 줄여줌
- 다양한 알고리즘 문제에서도 리스트 조작은 핵심이므로 기본기 강화 필수
반응형
'데이터' 카테고리의 다른 글
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -08 (0) | 2025.12.05 |
|---|---|
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -07 (0) | 2025.12.03 |
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -05 (0) | 2025.12.01 |
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -04 (0) | 2025.11.30 |
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -03 (0) | 2025.11.29 |