본문 바로가기

프로그래밍/Python

딕셔너리

키 = 값 으로 묶여져있는  자료형

 

딕셔너리 생성법

## 1
x ={'a':10, 'b':20}
print(x)
print(x['a'])

## 2
y = dict(c = 30, d = 40)
print(y)
print(y['c'])

## 3
z = dict(zip(['e','f'], [50, 60]))
print(z)
print(z['e'])

## 1 출력
{'a': 10, 'b': 20}
10

## 2 출력
{'c': 30, 'd': 40}
30

## 3 출력
{'e': 50, 'f': 60}
50

 

딕셔너리 키와 값을 따로 여러개 입력 받고 생성

keys = input().split()
values = map(int, input().split())

result = dict(zip(keys, values))
print(result)

 

 

딕셔너리는 키의 중복을 허락하지 않음

중복된 키가 있으면 마지막에 최기화된 키의 값을 저장

x ={'a':10, 'a':50,'b':20}
print(x)
print(x['a'])

## 출력
{'a': 50, 'b': 20}
50

 

딕셔너리에 특정 키가 있는지 확인

x ={'a':10, 'b':20}
print(x)
print(x['a'])
print('a' in x)

## 출력
{'a': 10, 'b': 20}
10
True

 

리스트로 딕셔너리 생성

key = ['a', 'b', 'c', 'd']
x = dict.fromkeys(key)
print(x)

## 출력
{'a': None, 'b': None, 'c': None, 'd': None}

 

딕셔너리와 반복문

diction = {'a':1, 'b':2, 'c':3, 'd':4}
print(diction)

for i in diction:
    print(i, end = ' ')
print()

for i in diction.keys():
    print(i, end = ' ')
print()

for i in diction.values():
    print(i, end = ' ')
print()

for i,j in diction.items():
    print(i,j, end = ' ')
print()

## 출력
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
a b c d 
a b c d 
1 2 3 4 
a 1 b 2 c 3 d 4 

 

딕셔너리 표현식

diction1 = {'a':1, 'b':2, 'c':3, 'd':4}
print(diction1)

diction2 = {key:value for key, value in diction1.items()}
print(diction2)

## 출력
{'a': 1, 'b': 2, 'c': 3, 'd': 4} #diction1
{'a': 1, 'b': 2, 'c': 3, 'd': 4} #diction2