리스트 (List)
학습 목표
- 리스트의 가변(Mutable) 특성과 순서(Ordered) 특성을 이해한다
- 인덱싱과 슬라이싱으로 리스트 요소에 접근할 수 있다
- CRUD(생성, 읽기, 수정, 삭제) 메서드를 활용할 수 있다
- 중첩 리스트를 다룰 수 있다
왜 중요한가
리스트는 Python에서 가장 많이 사용하는 자료구조입니다. 데이터의 모음을 저장하고, 순서대로 처리하고, 동적으로 크기를 조절할 수 있습니다. ML/DL에서 학습 데이터, 예측 결과, 손실값 이력 등 거의 모든 데이터 컬렉션이 리스트(또는 그 확장인 NumPy 배열)로 시작합니다.리스트 생성
인덱싱과 슬라이싱
문자열과 동일한 방식으로 동작합니다.CRUD 연산
Create (생성/추가)
Read (읽기/검색)
Update (수정)
Delete (삭제)
정렬
중첩 리스트
유용한 내장 함수
AI/ML에서의 활용
리스트와 배열의 차이는 무엇인가요?
리스트와 배열의 차이는 무엇인가요?
Python 리스트는 다양한 타입을 담을 수 있지만, NumPy 배열은 동일한 타입만 허용합니다. 대신 배열은 벡터/행렬 연산이 C 수준으로 빠릅니다. ML에서는 리스트로 데이터를 수집한 후, NumPy 배열이나 PyTorch 텐서로 변환하는 패턴이 일반적입니다.
리스트 복사 시 주의할 점이 있나요?
리스트 복사 시 주의할 점이 있나요?
b = a는 같은 객체를 참조합니다. 독립적인 복사를 원하면 b = a[:], b = a.copy(), 또는 b = list(a)를 사용합니다. 중첩 리스트는 copy.deepcopy(a)가 필요합니다.체크리스트
- 리스트 생성, 인덱싱, 슬라이싱을 자유롭게 할 수 있다
-
append(),extend(),insert(),remove(),pop()메서드를 구분하여 사용할 수 있다 -
sort()와sorted()의 차이를 설명할 수 있다 - 중첩 리스트의 참조 문제를 인지하고 올바르게 생성할 수 있다

