Python

[일단!]Python 자료형 완벽 정리 – 리스트(list)

myqzq 2025. 2. 10. 02:11

🚀 Python 자료형 완벽 정리 – 리스트 활용하기!

Python에는 여러 개의 데이터를 저장하고 다룰 수 있는 다양한 자료형이 존재합니다.
이번 글에서는 리스트(List), 튜플(Tuple), 딕셔너리(Dictionary) 와 같은 기본 자료형 중 리스트(List)을 배워보고 활용법을 익혀보겠습니다. 😊


1. 리스트(List) – 여러 개의 데이터를 저장하는 순서형 자료형

리스트는 여러 개의 값을 하나의 변수에 저장할 수 있는 자료형입니다.

대괄호([])를 사용하여 생성하며, 요소들은 순서(인덱스)를 가짐

fruits = ["사과", "바나나", "딸기", "포도"]
print(fruits)  # ['사과', '바나나', '딸기', '포도']

 

리스트의 주요 특징

  • 여러 개의 데이터를 순서대로 저장할 수 있음
  • 인덱스(Index)를 사용하여 개별 요소에 접근 가능
  • 요소 수정, 추가, 삭제 가능 (가변형, Mutable)

📌 리스트 요소 접근 (인덱싱 & 슬라이싱)

Python에서 리스트(List)는 여러 개의 데이터를 순서대로 저장하는 자료형으로, 각 요소는 고유한 인덱스(index)를 가집니다.
이를 활용하면 특정 요소를 가져오거나(인덱싱), 일부 요소를 잘라서 새로운 리스트로 만들 수 있습니다(슬라이싱).

✅ 1) 인덱싱(Indexing) – 특정 요소 접근하기

리스트의 각 요소는 0부터 시작하는 인덱스를 가집니다.

 
fruits = ["사과", "바나나", "딸기", "포도"]
 

위 리스트에서 각 요소의 인덱스는 다음과 같습니다.

 

요소 사과 바나나 딸기 포도
인덱스(양수) 0 1 2 3
인덱스(음수) -4 -3 -2 -1

 

리스트에서 특정 요소 가져오기

print(fruits[0])   # 사과 (첫 번째 요소)
print(fruits[1])   # 바나나 (두 번째 요소)
print(fruits[2])   # 딸기 (세 번째 요소)
print(fruits[3])   # 포도 (네 번째 요소)
 

음수 인덱스를 활용한 요소 접근

Python에서는 음수 인덱스(Negative Indexing) 를 사용할 수 있습니다.
음수 인덱스를 사용하면 리스트의 뒤에서부터 요소에 접근할 수 있습니다.

print(fruits[-1])  # 포도 (마지막 요소)
print(fruits[-2])  # 딸기 (뒤에서 두 번째 요소)
print(fruits[-3])  # 바나나 (뒤에서 세 번째 요소)
print(fruits[-4])  # 사과 (뒤에서 네 번째 요소)
 

📌 양수 인덱스 vs 음수 인덱스 활용 팁

  • 리스트의 앞쪽에서 요소를 찾을 때양수 인덱스 사용
  • 리스트의 끝에서부터 요소를 찾을 때음수 인덱스 사용

✅ 2) 슬라이싱(Slicing) – 리스트 일부 가져오기

슬라이싱(Slicing)은 리스트에서 여러 개의 요소를 한 번에 가져오는 방법입니다.

✅ 슬라이싱은 리스트[start:stop] 형식으로 사용하며, stop 인덱스는 포함되지 않습니다.

fruits = ["사과", "바나나", "딸기", "포도"]
print(fruits[1:3])  # ['바나나', '딸기']
 

❇️참고!

리스트[:stop] -> 첫 인덱스부터 stop 인덱스 전 까지

print(fruits[:2])  # ['사과', '바나나']

 

리스트[start:] -> start 인덱스부터 끝 까지

print(fruits[2:])  # ['딸기', '포도']

 

 

슬라이싱 동작 방식 ([start:stop])

  • start 인덱스부터 시작하여 stop-1 인덱스까지 가져옴
  • stop 인덱스의 요소는 포함되지 않음
요소 사과 바나나 딸기 포도
인덱스(양수) 0 1 2 3

예제 분석

fruits[1:3]  # ['바나나', '딸기']
  • start = 1 → 바나나에서 시작
  • stop = 3 → 인덱스 3인 "포도"는 포함되지 않음
  • 최종 결과 → ['바나나', '딸기']

✅ 3) 다양한 슬라이싱 예제

코드 결과 설명
fruits[:2] ['사과', '바나나'] 처음부터 인덱스 2 전까지
fruits[1:] ['바나나', '딸기', '포도'] 인덱스 1부터 끝까지
fruits[-3:-1] ['바나나', '딸기'] 뒤에서 3번째 요소부터 뒤에서 1번째 전까지
fruits[:] ['사과', '바나나', '딸기', '포도'] 전체 리스트 복사
fruits[::2] ['사과', '딸기'] 처음부터 끝까지 2칸씩 건너뛰며 가져오기
fruits[::-1] ['포도', '딸기', '바나나', '사과'] 리스트를 거꾸로 뒤집기

📌 리스트 요소 추가 및 삭제

 

.append() 리스트에 요소 추가하기 

fruits = ["사과", "바나나", "딸기", "포도"]

fruits.append("망고")  # 리스트 끝에 추가
print(fruits)  # ['사과', '바나나', '딸기', '포도', '망고']
 

.remove()  리스트에서 요소 삭제하기 

fruits.remove("바나나")  # 특정 요소 삭제
print(fruits)  # ['사과', '딸기', '포도', '망고']
 

✅ . pop() : 리스트에서 마지막 요소 삭제 

last_fruit = fruits.pop()  # 마지막 요소 제거
print(last_fruit)  # '망고'
print(fruits)  # ['사과', '딸기', '포도']
 

✅ . sort() : 리스트 정렬하기 

numbers = [3, 1, 4, 2, 5]
numbers.sort()  # 오름차순 정렬
print(numbers)  # [1, 2, 3, 4, 5]

 


🚀 마무리 및 다음 글 예고

이번 글에서는 Python의 리스트(List)를 배워봤습니다. 🎉

 

리스트 → 요소를 자유롭게 추가/삭제할 수 있는 가변형 자료형

 

📌 다음 글에서는 Python의 튜플(Tuple), 딕셔너리(Dictionary) 자료형을 소개해 드리겠습니다! 😊