본문 바로가기
Python

[Python] 딕셔너리(dictionary)

by 기리의 개발로그 2024. 1. 3.

딕셔너리(dictionary)


{key1 : Value1, Key2 : Value2 ..}

파이썬 딕셔너리는 "이름" = "양상길", "생일" = "11월 7일" 와 같이 대응관계를 나타내기 위해 사용하는 자료형이다.
리스트, 튜플과 달리 순차적이지 않으며 Key와 Value 형태를 가진다.
Key 값은 고유한 값이어야 한다.

dic = {'name' : 'sanggil', 'age' : 29}
dic1 = {'list' : [1,2,3]}
dic2 = {'tuple' : (1,2,3)}

위의 예에서 dic, dic1, dic2의 정보는 다음과 같다.

key value
name sanggil
age 29
list [1,2,3]
tuple (1,2,3)

딕셔너리 추가/수정/삭제


추가

dictionary[key] = value

dic = {1: 'one'}
dic[2] = 'two'
print(dic)

dic['name'] = 'sanggil'
dic['age'] = 29
dic[5] = [1,2,3]
print(dic)
{1: 'one', 2: 'two'}

{1: 'one', 2: 'two', 'name': 'sanggil', 'age': 29, 5: [1, 2, 3]}

수정

dictionary[key] = value

dic = {'age' : 29}
print(dic)

dic['age'] = 30
print(dic)
{'age': 29}

{'age': 30}

삭제


del dictionary[key]

dic = {1: 'one', 'name': 'sanggil'}
del dic['name']
print(dic)
{1: 'one'}

딕셔너리 사용


key값을 통해 value값을 얻을 수 있다.

me = {'name' : 'sanggil', 'age' : 29}
print(me['name'])
print(me['age'])
print(me['bb'])
sanggil
29
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
KeyError: 'bb'

주의사항


중복되는 Key 값 사용 시, 마지막을 제외한 것들은 무시된다.

dic = {1 : 'one', 1 : 1}
print(dic)
{1: 1}

또한, Key값은 변하지 않아야 한다. 그러므로 Key값으로 튜플은 사용할 수 있지만 아래와 같이 리스트는 사용할 수 없다.

print(dic = {[1,2,3] : 'list'})

dic = {(1,2,3) : 1}
print(dic)
print(dic[(1,2,3)])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'

{(1, 2, 3): 1}
1
반응형

'Python' 카테고리의 다른 글

[Python] 집합 자료형  (47) 2024.01.05
[Python] 딕셔너리 함수  (41) 2024.01.04
[Python] 리스트 함수  (36) 2024.01.02
[Python] 인덱싱 / 슬라이싱  (26) 2023.12.29
[Python] 리스트  (31) 2023.12.28

댓글