데이터

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

Leah (리아) 2025. 12. 6. 10:00
반응형

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개의 데이터만 추출해야 할 때 → 슬라이싱 사용
  • 스택/큐 시뮬레이션 등에서도 리스트 삭제·추가 기능 활용 가능

 

반응형