Python List와 Dictionary 완벽 이해하기
Python의 List와 Dictionary는 여러 개의 데이터를 효율적으로 저장하고 관리하기 위한 대표적인 자료형입니다. 두 자료형의 특징과 차이점을 이해하면 더욱 체계적인 프로그램을 작성할 수 있습니다.
설명
프로그램을 작성하다 보면 하나의 값만 저장하는 경우보다 여러 개의 데이터를 함께 관리해야 하는 경우가 훨씬 많습니다.
예를 들어 학생 이름 목록, 장바구니 상품, 회원 정보, 게임 캐릭터 정보 등은 하나의 변수만으로 관리하기 어렵습니다.
이럴 때 사용하는 자료형이 바로 List(리스트) 와 Dictionary(딕셔너리) 입니다.
둘 다 여러 개의 데이터를 저장할 수 있지만, 데이터를 저장하는 방식과 사용하는 목적은 서로 다릅니다. 이번 글에서는 List와 Dictionary의 기본 개념과 사용법을 쉽게 알아보겠습니다.
List(리스트)란?
List는 여러 개의 데이터를 순서대로 저장하는 자료형입니다.
데이터를 순서대로 보관하기 때문에 첫 번째, 두 번째처럼 위치를 기준으로 원하는 값을 가져올 수 있습니다.
리스트는 대괄호([])를 사용하여 만듭니다.
예를 들어
fruits = ["사과", "바나나", "포도"]
이처럼 하나의 변수 안에 여러 개의 값을 저장할 수 있습니다.
List의 특징
List는 다음과 같은 특징을 가지고 있습니다.
- 여러 개의 데이터를 저장할 수 있다.
- 저장된 순서가 유지된다.
- 데이터를 추가하거나 수정할 수 있다.
- 같은 값을 여러 번 저장할 수 있다.
예를 들어
numbers = [10, 20, 30, 40]
처럼 숫자도 저장할 수 있고,
items = ["노트북", 1500000, True]
처럼 서로 다른 자료형도 하나의 리스트에 함께 저장할 수 있습니다.
List 데이터 가져오기
리스트는 인덱스(Index) 라는 번호를 이용해 데이터를 가져옵니다.
Python에서는 첫 번째 데이터의 번호가 0부터 시작합니다.
예를 들어
fruits = ["사과", "바나나", "포도"]
다음과 같이 사용할 수 있습니다.
print(fruits[0])
실행 결과
사과
print(fruits[1])
실행 결과
바나나
print(fruits[2])
실행 결과
포도
List 데이터 추가하기
리스트는 새로운 데이터를 쉽게 추가할 수 있습니다.
예를 들어
fruits = ["사과", "바나나"]
fruits.append("포도")
를 실행하면 리스트는 다음과 같이 변경됩니다.
["사과", "바나나", "포도"]
append()는 리스트 끝에 새로운 값을 추가하는 가장 많이 사용하는 메서드입니다.
Dictionary(딕셔너리)란?
Dictionary는 이름(Key)과 값(Value)을 한 쌍으로 저장하는 자료형입니다.
리스트가 위치(순서)로 데이터를 찾는다면, 딕셔너리는 이름(Key)으로 데이터를 찾습니다.
중괄호({})를 사용하여 작성합니다.
예를 들어
student = {"name": "홍길동", "age": 20}
이처럼 name이라는 Key에는 "홍길동"이, age라는 Key에는 20이 저장됩니다.
Dictionary의 특징
Dictionary는 다음과 같은 특징이 있습니다.
- Key와 Value를 함께 저장한다.
- 순서보다 Key를 이용해 데이터를 찾는다.
- 데이터를 쉽게 추가하거나 수정할 수 있다.
- 하나의 Key는 중복될 수 없다.
회원 정보, 상품 정보, 설정 정보처럼 각각의 데이터에 이름이 있는 경우 매우 유용합니다.
Dictionary 값 가져오기
딕셔너리는 Key를 이용하여 값을 가져옵니다.
예를 들어
student = {"name": "홍길동", "age": 20}
다음과 같이 사용할 수 있습니다.
print(student["name"])
실행 결과
홍길동
print(student["age"])
실행 결과
20
Dictionary 데이터 추가하기
새로운 Key와 Value를 추가하는 것도 매우 간단합니다.
예를 들어
student = {"name": "홍길동"}
student["grade"] = 3
를 실행하면
{"name": "홍길동", "grade": 3}
처럼 새로운 정보가 추가됩니다.
List와 Dictionary의 차이
두 자료형은 비슷해 보이지만 사용하는 목적이 다릅니다.
| 구분 | List | Dictionary |
|---|---|---|
| 저장 방식 | 순서대로 저장 | Key와 Value 저장 |
| 기호 | [] | {} |
| 데이터 접근 | 인덱스(Index) | Key |
| 중복 데이터 | 가능 | Key는 중복 불가 |
| 대표 사용 예 | 과목 목록, 장바구니 | 회원 정보, 상품 정보 |
언제 List를 사용할까?
다음과 같이 순서가 중요한 데이터를 저장할 때 사용합니다.
- 학생 이름 목록
- 장바구니 상품 목록
- 시험 점수
- 할 일 목록(To Do List)
예시
subjects = ["국어", "영어", "수학"]
언제 Dictionary를 사용할까?
각 데이터에 이름이 있는 정보를 저장할 때 적합합니다.
예를 들어
- 회원 정보
- 상품 정보
- 게임 캐릭터 정보
- 설정 값
예시
user = {"name": "Kim", "email": "kim@example.com", "age": 25}
List와 Dictionary를 함께 사용할 수도 있다
실제 프로그램에서는 두 자료형을 함께 사용하는 경우가 많습니다.
예를 들어 여러 명의 학생 정보를 저장할 때는 다음과 같이 사용할 수 있습니다.
students = [ {"name": "홍길동", "age": 20}, {"name": "김철수", "age": 22} ]
이처럼 하나의 리스트 안에 여러 개의 딕셔너리를 저장하면 많은 데이터를 체계적으로 관리할 수 있습니다.
실제 사용해보기

자주 묻는 질문(FAQ)
Q1. List와 Dictionary 중 어느 것을 먼저 배워야 하나요?
둘 다 Python에서 매우 자주 사용하는 자료형입니다.
먼저 List의 개념을 이해한 뒤 Dictionary를 배우면 차이점을 이해하기 쉽습니다.
Q2. List에는 문자열만 저장할 수 있나요?
아닙니다.
숫자, 문자열, 불리언, 리스트, 딕셔너리 등 거의 모든 자료형을 저장할 수 있습니다.
Q3. Dictionary의 Key는 무엇인가요?
Key는 데이터를 구분하기 위한 이름입니다.
예를 들어 회원 정보에서 name, age, email 등이 Key가 될 수 있습니다.
Q4. List와 Dictionary 중 어떤 것이 더 많이 사용되나요?
둘 다 매우 많이 사용됩니다.
순서대로 관리해야 하는 데이터는 List를, 이름을 기준으로 관리해야 하는 데이터는 Dictionary를 사용하는 것이 일반적입니다.
마무리
List와 Dictionary는 Python에서 가장 많이 사용하는 자료형 중 두 가지입니다.
List는 여러 개의 데이터를 순서대로 저장할 때 사용하고, Dictionary는 Key와 Value 형태로 데이터를 관리할 때 사용합니다.
처음에는 두 자료형이 비슷하게 느껴질 수 있지만, 실제 프로젝트를 만들다 보면 각각의 장점과 활용 방법을 자연스럽게 익히게 됩니다. 이후 반복문과 조건문을 배우면 List와 Dictionary를 더욱 효율적으로 다루는 방법도 함께 알아보게 될 것입니다.