newhaneul

[Advanced Python Programming] Lecture 3. Dictionary 본문

4. University Study/Advanced Python Programming

[Advanced Python Programming] Lecture 3. Dictionary

뉴하늘 2026. 4. 12. 20:13
728x90

포스팅은 인하대학교 허혜선 교수님의 [202601-EEC3408-001] 고급파이썬프로그래밍을 수강하고 공부한 내용을 정리하기 위한 포스팅입니다.

 

  • dictionary의 key에는 값을 하나만 지정할 수 있으며 이런 특성을 따서 키-값 쌍 (key-value pair)이라 부른다.
  • key가 중복되면 가장 뒤에 있는 value만 사용한다. 중복되는 key는 저장하지 않는다.
lux = {'health': 490, 'health': 800, 'mana': 334, 'melee': 550, 'armor': 18.72}
print(lux['health'])
lux

800
{'health': 800, 'mana': 334, 'melee': 550, 'armor': 18.72}

 

  • value에는 list, dictionary 등을 포함하여 모든 자료형을 사용할 수 있다.
  • key는 문자열뿐만 아니라 int, float, bool도 사용할 수 있으며 자료형을 섞어서 사용 가능하지만, list와 dictionary를 사용할 수 없다.
x = {100: 'hundred', False: 0, 3.5: [3.5, 3.5]}
x

{100: 'hundred', False: 0, 3.5: [3.5, 3.5]}
x = {[10, 20]: 100}

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[26], line 1
----> 1 x = {[10, 20]: 100}

TypeError: unhashable type: 'list'

 

  • dict는 다음과 같이 4가지 방법으로 만들 수 있다. 이때 dict 함수를 사용한 첫 번째 방법에서는 key에 작은 따옴표나 큰 따옴표를 사용하면 안된다.
a = dict(key1='value1', key2='value2')
b = dict(zip(['key1', 'key2'], ['value1', 'value2']))
c = dict([('key1', 'value1'), ('key2', 'value2')])
d = dict({'key1': 'value1', 'key2': 'value2'})

print(a)
print(b)
print(c)
print(d)

{'key1': 'value1', 'key2': 'value2'}
{'key1': 'value1', 'key2': 'value2'}
{'key1': 'value1', 'key2': 'value2'}
{'key1': 'value1', 'key2': 'value2'}

 

  • dictionary는 인덱스로 접근이 불가능하고 딕셔너리에 없는 키에 값을 할당하면 해당 키가 추가되고 값이 할당된다.
lux = {'health': 490, 'mana': 334, 'melee': 550, 'armor': 18.72}
lux['mana_regen'] = 3.28
lux

{'health': 490, 'mana': 334, 'melee': 550, 'armor': 18.72, 'mana_regen': 3.28}
728x90