파이썬을 배우다가 이런 순간이 온다.
"변수 하나는 알겠는데 데이터가 여러 개면 어떻게 하지?"
예를 들어
- 장바구니에 물건 10개
- 학생 이름 30명
- 게임 점수 기록
이걸 변수 하나씩 만들면 너무 비효율적이다.
그래서 등장하는 개념이 바로 자료구조(리스트, 튜플, 딕셔너리, 집합)이다.
쉽게 말하면 여러 데이터를 한 번에 관리하는 방법이다.
◆ 리스트(List) - 가장 많이 사용하는 기본 자료형
리스트는 여러 개의 값을 순서대로 저장하는 구조다.
cart = ["콜라", "과자", "라면"]
이렇게 만들고 나면 각각의 값을 번호(인덱스)로 꺼낼 수 있다.
print(cart[0])
결과 : 콜라
리스트의 특징
- 순서가 있다.
- 수정이 가능하다.
- 어떤 데이터든 넣을 수 있다.(숫자, 문자열, 리스트)
리스트의 중요성
실제로 프로그래밍에서 여러 개 데이터 처리는 거의 필수다.
예를 들어 반복문과 같이 쓰면
for item in cart:
print(item)
데이터를 자동으로 하나씩 처리할 수 있다.
리스트에서 자주 사용하는 기능
값 추가
cart.append("아이스크림")
결과 : [콜라, 과자, 라면, 아이스크림]
값 수정
cart[0] = "사이다"
결과 : [사이다, 과자, 라면]
값 삭제
del cart[1]
결과 : [사이다, 라면]
중첩 리스트
리스트 안에는 또 다른 리스트를 넣을 수 있다.
data = [1, 2, 3, ["a", "b", "c"]]
print(data[-1][0])
결과 : a
이런 구조를 중첩 리스트라고 한다.
◆ 튜플 - 수정이 불가능한 리스트
튜플은 리스트와 거의 같지만 한 가지 차이가 있다.
t = (1, 2, 3)
값을 변경할 수 없다.
튜플을 사용하는 이유
절대 바뀌면 안 되는 데이터를 보호하기 위해서 사용한다.
예를 들어
- 좌표값
- 설정값
- 고정 데이터
t = (1,)
요소가 하나일 때는 반드시 쉼표를 붙여야 한다.
◆ 딕셔너리 - 이름으로 찾는 구조
딕셔너리는 Key → Value 형태로 데이터를 저장하는 방식이다.
user = { "name": "철수", "age": 20 }
값 꺼내기
print(user["name"])
결과 : 철수
리스트와 차이
- 리스트 : 번호로 찾음
- 딕셔너리 : 이름으로 찾음
즉, 더 직관적이다.
자주 사용하는 기능
값 추가
user["job"] = "개발자"
값 삭제
del user["age"]
Key는 중복이 불가능하다.
a = {1: "a", 1: "b"}
결과 : {1: 'b'}
get()을 써야 하는 이유
print(user.get("age"))
결과 : None
존재하지 않는 값을 가져와도 에러가 나지 않는다.
◆ 집합(Set) - 중복 제거에 특화된 자료형
집합은 중복을 허용하지 않는 자료형이다.
s = set([1, 2, 3, 3, 3])
결과 : {1, 2, 3}
특징
- 중복 제거
- 순서 없음
그렇기 때문에 인덱싱이 불가능하다.
중복 데이터 제거할 때 매우 강력하기 때문에 실전에서 많이 쓰인다.
집합 연산
a = set([1, 2, 3])
b = set([2, 3, 4])
print(a & b) # 교집합
print(a | b) # 합집합
print(a - b) # 차집합
◆ 정리
- 리스트 = 순서 있고 수정 가능
- 튜플 = 순서 있지만 수정 불가능
- 딕셔너리 = 이름(Key)으로 값 찾기
- 집합 = 중복 제거 + 순서 없음
'Python' 카테고리의 다른 글
| if문 정리 (0) | 2026.04.27 |
|---|---|
| 문자열 포매팅 정리(f-string, format, % 차이) (0) | 2026.04.23 |
| 파이썬 리스트 vs 튜플 차이와 리스트 복사 방법 (0) | 2026.04.23 |
| 인터프리터, 변수, 자료형 이해하기 (0) | 2026.04.22 |
| 파이썬이란? (0) | 2026.04.22 |