반응형
Chapter 01. 자료구조
리스트 나머지 기능 총정리 (count, delete, 기타 기능)
리스트는 Python에서 가장 많이 사용하는 자료구조 중 하나이며, 데이터를 다루다 보면 특정 아이템의 개수 확인, 삭제, 정렬, 뒤집기, 슬라이싱 등 여러 기능이 필요하다.
이번 글에서는 리스트의 여러 부가 기능들을 한 번에 정리한다.
주요 개념 요약
1️⃣ 특정 아이템 개수 세기 — count()
- 리스트 안에 특정 값이 몇 개 들어 있는지 알고 싶을 때 사용
- 문자열, 숫자, 리스트 요소 모두 가능
- 구조:
리스트.count(찾는값)
2️⃣ 특정 아이템 삭제 — del, remove()
- del 인덱스 삭제: 위치 기반 삭제
- remove(값): 값 기반 삭제(처음 발견되는 값만 삭제)
3️⃣ 리스트 확장 — extend()
- 리스트에 리스트를 이어붙일 때 사용
- append는 리스트를 통째로 넣고, extend는 요소를 풀어서 붙임
4️⃣ 리스트 정렬 — sort() / sorted()
- sort(): 리스트 자체를 정렬 (원본 변경)
- sorted(): 정렬된 새로운 리스트 반환 (원본 유지)
5️⃣ 리스트 뒤집기 — reverse()
- 리스트 요소 순서를 반대로 배치
- 영구적 변경
6️⃣ 리스트 슬라이싱
- 일부 구간만 잘라서 새로운 리스트 생성
- 구조:
리스트[start:end:step]
코드 예시 모음
✔ 특정 아이템 개수 세기 — count()
students = ['홍길동', '강호동', '박찬호', '이용규', '박승철', '강호동', '김지은']
print(students.count('강호동')) # 2
✔ 특정 인덱스 삭제 — del
students = ['홍길동', '강호동', '박찬호', '이용규', '박승철', '강호동', '김지은']
del students[1]
print(students)
✔ 실전 예제 — 혈액형별 개수 세기
import random
types = ['A', 'B', 'AB', 'O']
todayData = []
for i in range(100):
t = types[random.randrange(len(types))]
todayData.append(t)
print('todayData length : {}'.format(len(todayData)))
for t in types:
print('{}형 : {}개'.format(t, todayData.count(t)))
출력 예:
todayData length : 100
A형 : 26개
B형 : 23개
AB형 : 31개
O형 : 20개
* 이 글은 제로베이스 데이터사이언스 파트타임 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.
💡 생각 정리
리스트를 다루는 과정에서 데이터를 조회하고 삭제하고 정렬하는 기능은 거의 모든 프로젝트에서 반복적으로 사용된다. 특히 count()나 del, remove() 같은 기본 도구는 데이터를 전처리할 때 매우 유용하다. 리스트 확장 기능인 extend()와 정렬 함수는 데이터 집계나 통계 처리에서 쓰이며, 슬라이싱 기능은 리스트를 부분적으로 분석하거나 모델링에 필요한 구간만 따로 추출하는 데 강력한 역할을 한다.
이러한 기능들을 자연스럽게 사용할 줄 알면 Python에서 데이터를 다루는 속도와 정확도가 크게 향상된다.
🚀 적용점
- 데이터 분석 시 특정 값의 빈도수 확인 → count() 활용
- 크롤링/로그 데이터에서 특정 패턴 삭제 → del, remove() 활용
- 여러 리스트를 하나로 결합하는 ETL 과정 → extend() 사용
- 추천 알고리즘 또는 정렬 기반 UI 개발 → sort(), sorted()
- 최근 N개의 데이터만 추출해야 할 때 → 슬라이싱 사용
- 스택/큐 시뮬레이션 등에서도 리스트 삭제·추가 기능 활용 가능
반응형
'데이터' 카테고리의 다른 글
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -11 (0) | 2025.12.08 |
|---|---|
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -10 (0) | 2025.12.07 |
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -08 (0) | 2025.12.05 |
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -07 (0) | 2025.12.03 |
| 제로베이스 데이터사이언스 스쿨 - Part 05. 자료구조&알고리즘 with Python -06 (0) | 2025.12.02 |