파이썬 딕셔너리 생성하는 방법

Key와 Value를 이용하여 데이터를 저장하는 자료형

1. 기본 딕셔너리 생성

딕셔너리는 키(Key)값(Value)을 한 쌍으로 저장합니다.

student = {
    "이름": "민수",
    "나이": 17,
    "학년": 2
}

print(student)

출력 결과

{'이름': '민수', '나이': 17, '학년': 2}
"이름", "나이", "학년"은 키이고, "민수", 17, 2는 값입니다.

2. 빈 딕셔너리 생성

처음에는 비어 있는 딕셔너리를 만들고, 나중에 데이터를 추가할 수 있습니다.

data = {}
print(data)
{}
data = dict()
print(data)
{}

3. dict() 함수로 생성

dict() 함수를 사용하면 딕셔너리를 만들 수 있습니다.

person = dict(이름="지아", 나이=18, 학교="과학고")

print(person)
{'이름': '지아', '나이': 18, '학교': '과학고'}
dict() 함수에서 키 이름은 따옴표 없이 쓸 수 있지만, 일반적인 딕셔너리 작성법에서는 키를 따옴표로 감싸는 경우가 많습니다.

4. 리스트로 딕셔너리 생성

키와 값이 쌍으로 들어 있는 리스트를 dict()에 넣으면 딕셔너리가 됩니다.

info = [
    ["이름", "하준"],
    ["나이", 16],
    ["반", 3]
]

student = dict(info)

print(student)
{'이름': '하준', '나이': 16, '반': 3}

5. zip() 함수로 딕셔너리 생성

zip()은 두 리스트의 값을 순서대로 묶어 줍니다.

keys = ["이름", "점수", "등급"]
values = ["민수", 95, "A"]

result = dict(zip(keys, values))

print(result)
{'이름': '민수', '점수': 95, '등급': 'A'}

6. for문으로 딕셔너리 생성

반복문을 이용하여 딕셔너리에 값을 하나씩 추가할 수 있습니다.

numbers = {}

for i in range(1, 6):
    numbers[i] = i * i

print(numbers)
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

7. 딕셔너리 컴프리헨션

반복문을 한 줄로 줄여서 딕셔너리를 만들 수 있습니다.

square = {x: x * x for x in range(1, 6)}

print(square)
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

8. 중첩 딕셔너리 생성

딕셔너리 안에 또 다른 딕셔너리를 넣을 수 있습니다.

students = {
    "학생1": {
        "이름": "민수",
        "점수": 90
    },
    "학생2": {
        "이름": "지아",
        "점수": 95
    }
}

print(students)
{'학생1': {'이름': '민수', '점수': 90}, '학생2': {'이름': '지아', '점수': 95}}

9. 딕셔너리 핵심 정리

항목 설명
구조 키와 값의 쌍으로 저장
작성 형식 {키: 값, 키: 값}
키 중복 같은 키는 하나만 존재
값 수정 가능
활용 예 학생 정보, 성적표, 상품 정보, 설정값 저장

실생활 예시

학생정보 = {
    "학번": "1101",
    "이름": "인수",
    "학교": "과학고"
}

10. 간단 퀴즈

문제 1. 딕셔너리는 키와 값으로 이루어진 자료형이다. O / X

정답: O
딕셔너리는 Key:Value 구조입니다.
문제 2. 다음 코드의 출력 결과는?
data = {"국어": 90, "수학": 100}
print(data["수학"])
정답: 100
"수학"이라는 키에 저장된 값은 100입니다.
문제 3. 빈 딕셔너리를 만드는 올바른 코드는?

① data = []    ② data = {}    ③ data = ()    ④ data = ""

정답: ② data = {}
{}는 빈 딕셔너리를 의미합니다.