파이썬 기본 자료형에 정수(int), 실수(float), 불린(boolean), 문자열(str)이 있다면 컬렉션에는 튜플(tuple), 리스트(list), 딕셔너리(dictionary), 세트(set)가 있다.
컬렉션은 여러 아이템/값을 한 곳에 묶어 놓을 것이라고 생각하면 된다.
이 중 리스트가 가장 유연해서 가장 유용하게 사용된다.
리스트란?
리스트를 표현할 때는 [ ] 를 사용한다.
[ ] 안에 다양한 데이터 타입을 저장할 수 있으며, 같은 리스트 안에 다른 데이터 타입이 섞여 들어가도 된다.
list1 = [1, 2, 1.5555, '과일', 'horse', [1,2,3,['blue','red']], {'a':'apple', 'b':'banana'}]
리스트는 시퀀스(sequence)이며, 순서가 있어서 리스트에 담긴 값은 모두 고유의 인덱스를 가진다.
즉, 인덱싱과 슬라이싱이 가능하다.
리스트 인덱싱
리스트에서 특정 값을 추출하는 방법은 여러 가지가 있다.
1. [인덱스] 사용
리스트에 저장된 값은 순서가 있다. 이 순서 혹은 값의 위치를 '인덱스'라고 부른다.
인덱스는 0부터 시작된다 (왼쪽부터 오른쪽으로 움직임).
마이너스 인덱스도 있는데, 리스트의 가장 끝 값을 -1로 잡고 좌측으로 이동하며 -2, -3 ... 으로 부른다.

인덱스로 리스트의 특정 값을 추출하려면 아래와 같이 코드를 쓰면 된다
리스트이름[인덱스]
list1 = [1, 2, 1.5555, '과일', 'horse', [1,2,3,['blue','red']], {'a':'apple', 'b':'banana'}]
# list1의 첫번째 인덱스의 값 추출
list1[0]
>>> 1
# list1의 마지막 인덱스의 값 추출
list[-1]
>>> {'a':'apple', 'b':'banana'}

2. .index('값') 사용
특정 값이 위치한 인덱스를 모른다면 index() 메서드를 사용해서 그 값의 인덱스를 찾을 수 있다.
리스트명.index('값')
list1.index('과일')
>>> 3

3. 복합적인 인덱스
가끔 리스트 안에 리스트나 다른 종류의 컬렉션이 저장되어 있고 그 컬렉션 안에서 특정 값을 불러와야할 때도 있다.
리스트 안의 컬렉션 안의 값도 각자 인덱스가 있기 때문에 [ ][ ] 로 나열해서 불러올 수 있다.
예를 들어, list1에서 'blue'를 추출하려면 list1에서 blue가 저장된 리스트의 인덱스와 해당 리스트에서의 blue의 인덱스를 알아야한다.
'blue'의 인덱스는 아래처럼 찾아낼 수 있다.
a) list1에서의 blue가 담기 리스트의 인덱스 (5)
b) 해당 리스트에서 blue가 담긴 리스트의 인덱스 (3)
c) 그 안에서의 blue의 인덱스 (0)
따라서, list1 에서 blue 를 찾기 위해서는 list1[5][3][0] 을 쓰면 된다

list1[5][3][0]
>>> 'blue'

딕셔너리의 경우 key와 value 로 이루어져 있으며, key 값을 사용하여 인덱싱이 가능하다.
예를 들어, list1의 'banana'를 추출하려면 'banana'의 키값과 'banana'가 담긴 디셔너리의 인덱스를 알아야한다.
즉, list1[6]['b'] 를 해주면 된다.
list1[6]['b'] # list1의 6번째 인덱스의 값에서 키가 'b'인 값을 추출
>>> 'banana'

리스트 슬라이싱
인덱싱이 하나의 값을 추출하는거라면 슬라이싱은 여러 값을 꺼낼때 쓴다.
방법은 인덱싱과 유사하다. 다만, 추출할 인덱스 범위를 지정한다는 점에서 다르다.
공식은 다음과 같다:
리스트명[시작점 : 끝점 : 스텝]
- 시작점: 추출할 인덱스 시작점
- 끝점: 추출할 인덱스의 다음 인덱스 (끝점의 값은 포함되지 않음)
- 스텝: 지정하지 않을 경우 1 단위로 추출함.
** 맨처음부터, 혹은 맨끝까지 추출할 때는 인덱스 번호를 쓰지 않고 공란으로 둬도 됨
(e.g. list1[ : 3] 은 처음부터 2번째 인덱스까지 추출을 의미함)
# 인덱스 0~1까지의 값 추출
print(list1[0:2])
print(list1[:2]) # 처음부터 2번 인덱스

# 마지막 2개의 값 추출
print(list1[-2:]) # -2에서 끝까지
print(list1[5:7]) # 5~6까지
print(list1[5:]) # 5번에서 끝까지

# 처음부터 끝까지, 2 steps로
list1[::2] # 인덱스 0,2,4,6 번째 값 추출

'파이썬 - 기초' 카테고리의 다른 글
| [파이썬] 구글 코랩 텍스트 셀 마크다운 활용 (1) | 2025.09.13 |
|---|---|
| [파이썬] 자료형(Data Type)의 종류 (1) | int(정수형), float(실수형), bool(불린형), str(문자형) (3) | 2025.07.23 |
| [파이썬] Kaggle 에서 파이썬, 데이터분석, 머신러닝 공부하기 (5) | 2025.07.21 |
| [파이썬] 아나콘다 설치 및 파이썬 패키지 업데이트 (1) | 2025.07.11 |
| [파이썬] 구글 코랩 (Google Colaboratory) 환경 설정 및 사용법 (0) | 2024.05.15 |